lunes, 30 de marzo de 2009

La enseñanza de "fundamentos de programación" apesta

Hace como 2 años o más cambiaron el plan de estudios de las carreras de Ingeniería en Sistemas Computacionales y Licenciatura en Informática en la escuela donde estudié. Uno de los cambios fundamentales fue en la enseñanza de la programación, ¿por qué? pues porque les enseñan Java y POO en la clase de fundamentos de programación sin antes enseñar los algoritmos y paradigmas relacionados. Bueno, no me gusta la idea y eso ya la habia hecho patente en esta entrada y en esta otra.

Mi hermano David acaba de entrar y lleva esa clase y le he ayudado con información complementaria al estudio; la materia la imparte cierto profesor y por lo visto solo les ha enseñado a diseñar las clases con UML; les deja ejercicios, pero por las anotaciones de mi hermano no han visto más cosas. La semana pasada me sorprendió que les dejara investigar sobre la clase Math y luego que estuvieron haciendo ejercicios con la clase Color, combinando valores numéricos para obtener un color especifico. Luego les dejó un ejercicio para calcular numeros primos de acuerdo a un rango de numeros, pero ni mi hermano ni sus compañeros de clase tenian idea de como hacerlo.

Lo que me lleva a pensar que en realidad les estan dando clases de Java en vez de ver los fundamentos de la programación y digo esto porque solo conocen los tipos de datos, pero no saben el concepto de contador, ni las estructuras condicionales (if, else, switch) ni saben lo que es un bucle (for, while). Ayer me mostró mi hermano una tarea que se realizaba con bucles y otra usando arreglos de datos (que no les han enseñado a usarlo).

Pero haciendo una mejor investigación veo que el problema es de raíz, y los cambios a la materia fueron revisados y aprobados por representantes de las academias de sistemas y computación de los institutos tecnológicos entre el 2003 y el 2004 y sobre esa materia se hace énfasis en el modelo orientado a objetos y después a lo básico. Quizás la idea de estos señores de las academias de computación era preparar a los alumnos al mercado laboral (los programadores en Java son bien remunerados) pero esa es idea de las escuelas de computación y no debería ser la de un instituto donde la materia es parte de una carrera profesional. Al menos en el Tec lo están haciendo mal y el grupo de mi hermano no aprenderá bien y no sabrá aplicar sus conocimientos en la resolución de problemas, porque en esta materia el lenguaje de programación es lo de menos.

El 'nuevo modelo' de la asignaura de Fundamentos de Programación [PDF]

3 comentarios:

Masiosare dijo...

Los viejos no solo se quejaban de que no enseñaran algoritmos sino de que ademas, solo les enseñaran java...

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

Mi primer clase de algoritmos de programacion, fue sin computadora, por cierto. Como cambian los tiempos.

Alex dijo...

Yo aprendí con papel y lápiz y después en las clases siguientes a la de algoritmos aprendi Pascal y lenguaje C.

Muy de acuerdo con esta frase:

Now, I freely admit that programming with pointers is not needed in 90% of the code written today, and in fact, it's downright dangerous in production code... Without pointers, for example, you'd never be able to work on the Linux kernel. You can't understand a line of code in Linux, or, indeed, any operating system, without really understanding pointers.

Un maestro que "me dio clases" de Programación de sistemas nos dijo que no seguiríamos el curso de compiladores, porque según el en el trabajo no programaríamos compiladores.

Muy buen articulo, gracias Masio.

Oscar Olan dijo...

Fundamentos de programcación puede manejarse a la par con la enseñanza de un lenguaje de programación.
Creo que la materia que realmente me enseño a programar es la de estructura de datos.


Creative Commons License
Bitácora de Alex by José Alejandro Manuel Garcia is licensed under a Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 México License.