16 de diciembre de 2010

Primera capacitación para profesores en la enseñanza del lenguaje Python

Del 13 al 15 de diciembre del 2010 tuvimos la oportunidad de impartir el CADi (Curso de actualización en las disciplinas) titulado Enseñando a programar con Python en las instalaciones del Tecnológico de Monterrey, Campus Estado de México. A éste asistieron casi una veintena de profesores de varios campus del Tecnológico de Monterrey, incluyendo Ciudad de México, Estado de México, Santa Fe, Toluca, Querétaro y Laguna. La profesora Ma. Elena Melón Jareda, el profesor Roberto Martínez Román y yo fuimos los instructores del curso.


Todo el grupo: instructores y participantes del curso.

Los objetivos del curso fueron los siguientes:
  • Introducir el lenguaje de programación Python, con una orientación hacia la resolución de problemas en las áreas de ingeniería, ciencias y medios digitales.
  • Presentar diversos enfoques de enseñanza aplicables a las materias de Fundamentos de programación y Solución de problemas con programación de los planes de estudio 2011 de las carreras profesionales del Tecnológico de Monterrey.
En total hubo seis sesiones: una sesión matutina y otra vespertina en cada uno de los tres días que duró el curso. Las sesiones matutinas estuvieron a mi cargo, y las utilicé para exponer los fundamentos del lenguaje Python (sintaxis, semántica y API básico), así como para dar lugar a que los participantes resolvieran ejercicios de algoritmos numéricos y de elaboración de dibujos con gráficas de tortuga. También pude cubrir una introducción a matplotlib para hacer gráficas científicas en 2D.

Ejercicios con gráficas de tortuga.

En las sesiones vespertinas se mostró como utilizar las siguientes herramientas/tecnologías:
  • El framework Myro para programar los robots Scribbler.
  • JES (Jython Environment for Students) para el procesamiento de imágenes.
  • El módulo PyGame para elaborar programas gráficos interactivos.
La sesión de robots estuvo a cargo del profesor Martínez, mientras que JES y PyGame fueron presentados por la profesora Melón.

Profesores programando al robot Scribbler.

Para concluir el curso, abrimos un espacio para que los participantes pudieran comentar respecto al material cubierto y también para conocer sus opiniones sobre el uso de Python en una primera materia de programación a nivel licenciatura. La mayoría de los profesores se expresaron de manera muy favorable respecto al CADi en sí. Algunos manifestaron que Python les pareció un buen lenguaje introductorio para las carreras que no son de computación, pero que tienen aún algunas reservas sobre si es conveniente usarlo como primer lenguaje en las carreras de las TIEs (Tecnologías de Información y Electrónica). Como lenguajes alternativos a Python, algunos profesores sugirieron considerar Processing (específicamente para las carreras de LAD y LCD), JavaFX y Groovy. Sin embargo, de JavaFX se señaló también que su futuro quedó un tanto incierto a partir de que Sun Microsystems fue adquirido por Oracle.

Personalmente disfruté mucho la oportunidad de poder impartir el curso a mis colegas del Tec. Es muy estimulante convivir con un grupo de académicos tan talentoso y comprometido con su labor docente. Sin embargo me queda claro que aún necesitamos hacer más labor de convencimiento si queremos que nuestra propuesta de usar Python prospere. Espero que tengamos la oportunidad de replicar el curso en Monterrey en los próximos meses y así poder llegar a más profesores del sistema.

El material que se utilizó para el curso está disponible en el siguiente URL: Enseñando a programar con Python.

1 comentario:

  1. Considero que el Python puede ser un buen lenguaje para las carreras TIE y no solo como lenguaje introductorio.
    Todavía me sorprende la gran cantidad de herramientas, módulos y opciones que ofrece y el ambiente interpretado me parece una excelente herramienta para que el alumno se acostumbre y familiarice con los comandos además de permitir una construcción modular probando interactivamente cada pequeña parte del desarrollo.
    Agregarle Ensamblador y C (o Java) creo que son suficientes herramientas computacionales para la currícula de profesional (desde la óptica de lenguajes computacionales y no como herramientas para temas específicos como JavaFX).

    ResponderBorrar