14 de julio de 2010

Python para alumnos de educación media

El pasado miércoles 14 de julio tuvimos como parte de las actividades del CampTECh el taller Aprendiendo a programar con Scribbler impartido por la profesora Patricia Chávez. Dirigido a niños y niñas de secundaria y preparatoria, el CampTECh busca cambiar la percepción que tienen las nuevas generaciones hacia el área de las Tecnologías de Información mediante actividades interesantes y divertidas.

La siguiente imagen muestra un robot Scribbler:


Este pequeño robot cuenta con dos motores independientes, una bocina, tres leds, tres tipos distintos de sensores, un puerto para comunicación serial y un orificio para colocar un plumón y así poder pintar sobre el piso. En el puerto serial se le inserta un tarjeta Fluke la cual permite la comunicación vía Bluetooth. Esta misma tarjeta cuenta además con una cámara fotográfica, sensores adicionales y un indicador de batería baja.

Hay varias formas de programar el Scribbler, pero en el CEM hemos optado por usar el software y material didáctico desarrollado por el Institute for Personal Robots in Education (IPRE). Este instituto desarrolló el framework Myro (My Robot) el cual permite programar el robot utilizando el lenguaje de programación Python.

El taller impartido en el CampTECh tuvo una duración de dos horas aproximadamente. Los 55 participantes (ninguno con experiencia previa usando Python) se dividieron en 13 equipos de cuatro o cinco integrantes cada uno. A cada equipo se le prestó un robot Scribbler con su tarjeta Fluke correspondiente y una laptop con un adaptador Bluetooth USB. A los participantes primero se les instruyó en los conceptos necesarios para poder hacer que el robot tocara tonos musicales, se moviera hacia adelante y girara. También se les enseñó a definir funciones sencillas y hacer repeticiones usando la instrucción for. Como actividad por cuenta propia, cada equipo tuvo que programar a su robot para que dibujara una estrella.

La siguiente foto muestra la solución de un equipo compuesto exclusivamente por niños de secundaria:



Dicho equipo escribió primero una función para dibujar un triángulo:
def triangulo(robot):
    for i in range(3):
        robot.forward(1, 1)
        robot.turnLeft(1, 2.25)
Luego ejecutaron la función una vez, rotaron su pliego de papel, y volvieron a ejecutar la función para obtener una estrella de David. No está nada mal para un grupo de principiantes tan jóvenes.

Un equipo de chicos de preparatoria logró programar una estrella mucho más elaborada (algunos miembros de este equipo ya tenían experiencia programando en otros lenguajes):


La parte final de la actividad consistía en que cada equipo disfrazara a su robot. Así es como terminaron los 13 robots:


El resultado del taller fue definitivamente muy gratificante tanto para los participantes como para los que pudimos facilitar la experiencia.

Para estudiantes entre 12 y 17 años de edad, la introducción a la programación resulta más sencilla usando herramientas como Alice o Scratch. De hecho, el día anterior la profesora Ma. de los Angeles Junco impartió un taller de Alice a estos mismo chicos también como parte del CampTECh. Sin embargo, el poder programar robots usando Python les brinda la oportunidad de conocer un lenguaje de programación de verdad en un dominio que les resulta muy estimulante. Todo esto se logra cubrir en poco tiempo gracias a que no se requiere inundar a los alumnos con un montón de nimiedades sintácticas tal como ocurriría se tuviéramos que usar otros lenguajes.

1 comentario:

  1. Ariel,
    You may be interested in the work on summer camps at the Computing Science department at the University of Alberta: http://launch.cs.ualberta.ca/summer-camps

    The whole concept behind that "Launch" site is something we should be looking at in regards to the I[ST]C programs.

    Cheers,
    Ken

    ResponderBorrar