jueves, 17 de mayo de 2018

El primer Lenguaje de Programación

En CS-UCSP/CS-UNSA y CS-UTEC se hace Python (1er sem) y C++ (11/14/17) (2do Sem) ademas para los de CS se hace C++ (11/14/17) avanzado en 3er semestre.

Sin embargo, desde la primera clase se les explica qu el objetivo no es que aprendas Python. 
El objetivo es que aprendas a pensar de forma computacional.

El componente #1 de la ecuacion es el cerebro del ser humano (aporta inteligtencia)
El componente #2 es el computador (que aporta velocidad)

Si enfocamos la carrera solo en controlar el aparato rapido pero no desarrollas tu cerebro es igual a darle una metralleta (algo muy potente) a un mono

Algunas lecciones para aprender de este video ...
  1. Cualquier mono sabe usar la herramienta de cualquier forma y pensara que es poderoso
  2. Siempre hay algun tontin que dice que le puedes das algo poderoso a alguien mal preparado.
  3. El mono luego de haber disparado a todos (sentir el poder) levanta las manos en señal de victoria ...
Me parece algo que hemos visto y sentido varias veces en nuestro pais :)

¿Por qué empezamos con Python?
  • Porque tiene sintaxis ligera
  • Porque podría aprenderlo alguien de cualquier carrera
  • Porque es simple de entender
  • Porque te enfocas en resolver el problema ... no en la sintaxis ...
  • La curva de aprendizaje para un nivel inicial es mas rapida.
¿Por qué no es recomendable arrancar en C/C++/Java?
  • Porque tiene muchos mas elementos e sintaxis que distraen al alumno del objetivo principal: pensar de forma computacional !!!
  • La curva de aprendizaje para un nivel inicial es mas lenta.
¿Por qué si hay que enseñar un lenguaje como C++?
  • Porque permite entender mas detalles de bajo nivel
  • Porque permite luego saltar a casi cualquier lenguaje con una curva de aprendizaje mas rapida.
  • Porque realmente los programas son mas eficientes
Luego de entender esto los chicos programan en cualquier lenguaje que ya no necesitas enseñarles ...

Si una universidad se enfoca en decir: "Nosotros enseñamos .NET/Java ..." es porque aun estan en proceso de entender que lo importante no es sintaxis.

Nosotros enseñamos a pensar de forma computacional y en el camino está claro que aprenderás a programar un computador (y por eso estudias sintaxis) pero no es el objetivo #1

Saludos
Ernesto

jueves, 10 de mayo de 2018

Mapa de carreras en el Perú

Aqui va el mapa de nuestro pais con nombres de instituciones ...

Contexto:
En diciembre de 2017 el Ministerio de Educación del Perú convoca a una reunión de aproximadamente 140 directores de carrera de Computación/Informatica/Software y Sistemas.
En el proceso se levanta información referente a la forma en la cual estas carreras han sido creadas y en que se basan actualmente.

Estos son os resultados.

1.- Gráfico del origen de las carreras en el Perú.  
2.- Gráfico de las mallas curriculares en la actualidad. ¿En qué se basan las mismas carreras actualmente?

Algunas explicaciones previas:
  • A->B significa que B fue creada mirando como referencia
  • Los Rectángulos Amarillos son las propuestas internacionales de IEEE-CS/ACM. Miren que tan cercanos decimos estar de las propuestas internacionales (solo confiando en la palabra de los directores)
  • Los rectangulos rojos son de instituciones que tienen ams de una carrera de esta linea.
  • Los rectangulos verdes representan un pais.
Ademas es importante observar lo siguiente:
  • ¿cuántas salen de facultades de Educación?
  • ¿cuántas salen de la demanda del mercado laboral?
  • Miren cuantas no se basan en ninguna referencia?! (las que andan super sueltas)
  • Varias carreras super tradicionales que no son referenciadas (lo cual indica que no son referencias)
  • Carreras azules que siguen a otra carreras azules que no siguen ningun estándar internacional ... 
Estar al centro podria significar algo bueno si me apoyo en estandares internacionales. De otra forma puedo ser el centro del problema.

Saludos
Ernesto Cuadros-Vargas