jueves, 28 de octubre de 2010

Uso de Alice como herramienta para enseñar a programar

Como ya he comentado alguna vez en el blog, además de trabajar como tecnólogo para la Informática de Comunidad de Madrid, comparto esta actividad con la docencia en la Universidad Carlos III de Madrid.
Hace varios años comencé a impartir la asignatura de Programación que se da en primer curso (antes de Ingeniería Informática, ahora del Grado en Informática).
Durante estos años hemos probado varias técnicas para ayudar a los alumnos a que comprendiesen mejor los conceptos de la Programación Orientada a Objetos. Sin duda, una de las herramientas que considero que más han aportado a la docencia en la asignatura es el uso de la herramienta Alice de la Universidad de Carnegie Mellon.
En la asignatura se enseña a programar en el lenguaje Java. El tema es que cuando empezamos con la asignatura, el alumno no sabe nada sobre programación. Las clases de teoría y las de prácticas empiezan simultáneamente, por lo que la primera semana de clase los alumnos se presentan en el áula de prácticas sin tener todavía ninguna noción sobre programación.
¿Qué puede hacer un alumno en clase de prácticas de programación si todavía no sabe programar?
Aquí es donde entra en juego Alice (la idea se le ocurrió a mi compañero Angel). Alice es una herramienta para enseñar los conceptos de la programación orientada a objetos de manera visual. Para ello, en Alice se trabaja en un entorno en tres dimensiones en el cuál se van colocando objetos (por ejemplo un conejo, una caja, etc.). Una vez colocados los objetos, se les hace interaccionar creando una especie de "corto de película".
Lo bueno de Alice es que está pensado para comenzar a usarlo sin leer ni una línea de documentación sobre la herramienta. Para ello, nada más arrancar el programa, se pueden ejecutar una serie de tutoriales en los cuáles, de manera muy intuitiva, se enseña a utilizar el entorno.
En la asignatura de Programación utilizamos Alice como herramienta para la primera práctica en la que hacen los alumnos. Primero les solicitamos una serie de ejercicios guiados, y posteriormente (algunos años sí y otros no, dependiendo del tiempo que tengan para hacer la práctica) se les dice que creen su propio corto de temática libre.
Si estáis pensando en aprender programación orientada a objetos, es posible que os interese el enunciado de la práctica que hemos puesto este año a los alumnos, se puede acceder a través de este enlace público.
Os pongo aquí también algunos pantallazos con partes del enunciado de la práctica (gracias a mis compañeros por prepararlo con mimo):



9 comentarios:

Barahonero dijo...

Hola. Me imagino que también conoces la herramienta Greenfoot que propone Oracle como primer paso para aprender Java (http://www.oracle.com/technetwork/articles/javase/young-dev-learning-path-137033.html)
No se si será algo similar a Alice, pero por lo que cuentas creo que si lo es.

Un saludod

Manuel Pereira dijo...

Hola Barahonero, la verdad es que no conocía Greenfoot.
He estado echándole un vistazo y tiene buena pinta. Por lo que he visto, es un poco menos "visual" que Alice, en Greenfoot se sigue viendo el código como en un editor de texto, y se sigue compilando. Además está muy orientado a java, ya que el código que se edita es java (Alice es para programación orientada a objetos en general).
En Alice toda la programación es visual, no se escribe ni una línea de código, simplemente se arrastra con el ratón. Además está orientado a un entorno de objetos visuales en 3D.
Greenfoot me parece más potente y genérico (al final por debajo es Java), pero un poco menos didáctico.
Respecto a la potencia de Greenfoot, me ha gustado mucho este escenario: http://greenfootgallery.org/scenarios/1909

Un saludo.

Juan Antonio Herero dijo...

Hola Manuel, me interesa mucho el uso educativo de ciertas tecnologías como la robótica y la programación. ¿Te consta la utilización de Alice en cursos de educación primaria como introducción a la informática en algún colegio de España? No es fácil encontrar información o blogs de proyectos sobre este tema aquí (al contrario de lo que ocurre en EEUU). Saludos.

Manuel Pereira dijo...

Hola Juan Antonio, no conozco ningún colegio de primaria en el que se utilice Alice. Sin embargo, me parece una herramienta suficientemente intuitiva como para utilizarse con alumnos de esas edades. Personalmente te animo a intentarlo (y a que me cuentes qué tal te ha ido). Si estás interesado te puedo hacer llegar los originales de los enunciados que hemos utilizado en primer curso de grado en la UC3M (preparados para gente que no sabe nada de programar).
Un saludo.

Maximiliano dijo...

Hola Manuel, soy de Chile y me interesa el tema. Podrias hacerme llegar los originales de los enunciados que has utilizado en primer curso de grado en la UC3M (preparados para gente que no sabe nada de programar). Mi correo es maxibom4@hotmail.com.

Saludos cordiales y gracias.

Manuel Pereira dijo...

Hola Maximiliano, ahora no los tengo disponibles pero te los envío por email dentro de un par de semanas. Un saludo.

Adriana Soto dijo...

Hola Manuel, mi nombre es Adriana, quisiera utilizar Alice para dar cursos en casa para mis niños y sus amigos.
Soy mamá y no sé demasiado, pero al ver que ellos disfrutan tanto con las nuevas tecnologías, intento aprender junto a ellos.
Si puedes ayudarme con algún curso te lo agradecería muchísimo, muchas gracias, saludos!!

Manuel Pereira dijo...

Hola Adriana, para dar cursos a tus niños y amigos es posible que la mejor herramienta no sea Alice sino Scratch, échale un vistazo:
https://scratch.mit.edu/
En la web tienes además una pestaña "Para padres"
Un saludo.

Unknown dijo...

Hola Manuel. Soy de Argentina y estoy preparando un curso para introducir a adolescentes en la Programacion, el año próximo estaré dando clases en la Escuela Secundaria y quiero darle un sentido más creativo a las clases de Informatica (actualmente, solo se enseña a utilizar programas, como si lo necesitaran; cuando lo q realmente hace falta es enseñarles a pensar algoritmicamente). ¿Me podrias facilitar los enunciados que has utilizado en primer curso de grado en la UC3M (preparados para gente que no sabe nada de programar)? Yo estoy armando mi propio proyecto para Alice en la Secundaria y Logo/Scratch en la Primaria (SI, LOGO, las instrucciones son lo suficientemente sencillas como para q un niño pueda escribirlas SIN BLOQUES, creo q estamos menospreciando la capacidad intelectual de los niños aqui... Scratch lo pienso utilizar mas para la parte de animacion/visual, pero para "dibujar" lo hare con Logo en pleno 2017). Muchas gracias desde ya. Mi dir es adriangalvarez@gmail.com