Friday 8 February 2013

Enseñando scratch a alumnos de M2

Este año estoy combinando mi trabajo como IT Manager con el de profesor de IT. La idea de enrolarme en el apartado académico surgió a raiz de una encuesta que se le envió a los alumnos preguntándoles qué cosas relacionadas con las nuevas tecnologías les gustaría aprender; ya que algunos de ellos apuntaron que les gustaría aprender a programar, me puse a buscar de qué forma podía enseñar programación a alumnos de entre 12 y 13 años.
La respuesta la encontré en un software desarrollado por el MIT y que otras universidades como Harvard (https://www.cs50.net/) utilizan para introducir a sus alumnos en el desarrollo de aplicaciones, se llama scratch y es completamente gratis para descargar y para usar, además está disponible para los principales sistemas operativos (windows, macs y linux).


Scratch permite introducir a los alumnos en el mundo de la programación utilizando una especie de pseudocódigo en formato visual, es decir, prácticamente no tenemos que escribir nada simplemente utilizaremos una serie de comandos que vienen presentados en forma de bloques, estos bloques encajan entre sí para formar "funciones" más o menos complejas.


En internet hay muchísimos tutoriales sobre scratch, en la mayoría de ellos te van explicando poco a poco los diferentes comandos y secciones, sin embargo, a mi personalmente nunca me han gustado las clases en las que el profesor simplemente se planta delante de los alumnos y les suelta un rollo más o menos largo que se olvida al cabo de 5 días. Por lo que dividí la clase en las siguientes secciones:


1. Investigación de scratch y cosas que se pueden hacer con él: Otra ventaja de scratch es que viene con un montón de "programas" simples como ejemplo y que pueden ayudarnos a la hora de enseñar este "lenguaje". Por otro lado en la página oficial, los usuarios de scratch pueden subir sus programas para el disfrute del resto del mundo. Así que mi primera clase consistió en, después de una breve introducción de lo que íbamos a hacer, mostrarles como acceder tanto a los ejemplos como a los programas subidos a internet por los usuarios; de esta forma, ellos pueden ver qué tipo de cosas pueden hacerse con Scratch y ayuda a capturar su atención sobre todo porque la mayoría de ejemplos son pequeños juegos.





2. Crear tu primer programa: después de haber jugado durante toda una clase, les mostré como hacer un programa muy muy sencillo, nuestro hello world en scratch, que consistía en coger al gato que viene por defecto al abrir scratch y hacer que se mueva por la pantalla. De esta forma les expliqué la interfaz de scratch y los diferentes tipos de bloques que había. Al final de la clase ya estaban usando bloques que no creía que controlarían hasta mucho más adelante.




3.Aprendiendo con ejemplos: En las clases siguientes, les decía que eligieran alguno de los ejemplos que más les habían gustado y que investigaran para qué servía cada uno de los bloques de los que se componía el programa, al tiempo que hacían pequeñas modificaciones para que ellos vieran como afectaban esas pequeñas modificaciones al programa, cosas como cambiar el valor de una variable para que una bola se mueva más rápido o hacer que se emita un sonido cada vez que se pulse una tecla. Al principio tenía mis dudas por si no fueran capaces de "innovar" pero de nuevo volvieron a sorprenderme y algunos de ellos terminaron cambiando completamente el ejemplo inicial...


Al tiempo que íbamos modificando ejemplos a ellos le iban surgiendo más y más dudas del tipo como puedo hacer esto o como puedo hacer aquello, y fue ahí donde aproveché para instruirles un poco más en el uso del programa y de las diferentes opciones.

4. Una vez que ya se habían familiarizado con scratch lo suficiente les propuse un projecto que era diseñar su propio juego desde el principio, por lo que tuvieron que empezar describiendo las características del juego que querían crear, cuales iban a ser los personajes, los escenarios si había puntuaciones como serían, cuantos niveles habría, qué sonidos sonarían al pasar según qué cosa, etc, etc...
Una vez tuvieron hecho todo el diseño, empezaron a desarrollar el juego siguiendo sus propias especificaciones, algunos hicieron juegos de carreras, otros de agilidad mental, y hubo uno que llegó a construirse un pacman completo con sus fantasmas y todo, algunos de sus compañeros quedaron tan sorprendidos que le animaron a crear un vídeo para compartir lo que habían hecho.

[Vídeo en proceso]

Pues hasta aquí la entrada, siento haberme enrollado mucho, quizá mi metodología no sea la más adecuada pero al final de la unidad todos sabían lo que era un bucle, una variable, una condición una entrada y salida de datos etc. etc... lo que les hará ser más receptivos cuando el año que viene empecemos a programar "de verdad" :)



1 comment: