Thursday, July 13, 2006

programacion o lenguajes de programacion ?

Este tema va en referencia a las materias llamadas "Computacion" (I,II,... IX) en las cuales se estudian varios lenguajes de programacion sin que esto signifique que los alumnos obtengan los conocimiento, tecnicas y habilidades necesarias para desarrollar correcta y eficientemente cualquier programa o aplicacion.

No basta con decir que algo nos parece incorrecto, sino que hay que argumentar porque nos parece incorrecto y presentar una propuesta para corregir la situacion.

Desde mi punto de vista asi esta la situacion actual y presento mi propuesta.

Actualmente los cursos se imparten de la siguiente forma :

  • Computacion III - Algoritmos, programacion estructurada y Lenguaje C
  • Computacion IV - POO en C++
  • Computacion V - POO (de nuevo) en VB.NET
  • Computacion VI - VB.NET (Aplicaciones Windows Forms)
  • Computacion VII - POO (otra vez) en Java
  • Computacion VIII - Java
  • Computacion IX - Algunas veces Delphi, otras Oracle

Existe ademas un curso de Estructura de datos.

Aqui se pueden notar dos problemas principales :

  1. Los fundamento de programacion se imparten en un mes, debido a que los otros dos meses del curso se dedican al estudio del lenguaje C. Sin las bases de programacion correctamente estudiadas y asimiladas, cualquier curso posterior estara destinado al fracaso. En este sentido tambien es imposible e incomprensible que en un curso de menos de tres meses se pretendan estudiar las estructuras de datos y los algoritmos de ordenacion y busquedas, temas reconocidos como fundamentales para la programacion de computadoras.
  2. Existe redundancia de temas, en Comp. IV,V y VII se ven los mismo conceptos y solo cambia la implementacion segun el lenguaje utilizado. Entonces, seria conveniente aprovechar dos de estos trimestres para tratar otros temas.
Resumiendo, los temas tratados son metodologia de la programacion, programacion estructurada, estructuras de datos, programacion orientada a objetos, programacion de aplicaciones para Windows. Ninguno de estos temas se ve con profundidad, pues cada uno se ve en un plazo menor de tres meses.

La propuesta es que algunos de estos temas sean tratados con el tiempo y la profundidad requeridos dada su importancia.

A continuacion se sugiere un curso completo de programacion, que hace enfasis en los temas, no en el lenguaje en que se va llevar a cabo la implementacion, es decir privilegiando la semantica en lugar de la sintaxis.
  1. Metodologia de la programacion
  2. Programacion estructurada
  3. Programacion orientada a objetos
  4. Estructuras de datos estaticas
  5. Estructuras de datos dinamicas
  6. Aplicaciones Windows
  7. Aplicaciones de acceso a datos
  8. Aplicaciones Web
No se incluyen cursos de bases de datos debido a que ya estan contemplados en la curricula actual.

Los cursos van en la secuencia mostrada, cada uno tiene una duracion de un trimestre. La finalidad es llegar a los puntos mas avanzados (6,7,8) con bases firmes que les permitan a los alumnos desarrollar aplicaciones similares a las que se desarrollan en un entorno real de trabajo.