lunes, 18 de abril de 2011

Enseñando processing Parte 2

Este es el segundo post, de una serie en la que pretendo compartir mis experiencias enseñando processing a dos grupos de estudiantes en la Facultad de Artes ASAB. El primero de los grupos se conforma, en su mayoría, por estudiantes de 5 semestre y el segundo por estudiantes de séptimo. la mayoría de los estudiantes de cuarto semestre, no tienen experiencias previas programando y los estudiantes de séptimo semestre aprendieron fundamentos de ActionScript.

Hoy quiero hablar de las cosas que considero he encontrado más problemáticas para mis estudiantes en su proceso de aprendizaje, algunas son condiciones generales en nuestro medio, otras son particulares a algunos estudiantes.

 Lo primero es el idioma. Solamente porque los lenguajes de programación están escritos en ingles existe una barrera difícil de franquear para muchos estudiantes, incluso es justo decir que para la mayoría. Palabras que para una persona con un dominio adecuado del ingles refieren a hechos concretos o imágenes claras, para una persona que cuenta con un ingles rudimentario no significan nada sin una traducción, en ocasiones esta traducción no es completamente correcta y puede generar mal entendidos.  Processing es un lenguaje muy fácil de aprender, si quiero dibujar un circulo escribo "ellipse", si quiero dibujar un triangulo escribo "triangle", este es un lenguaje hecho para no complicarle la vida a los artistas. Los problemas surgen cuando se llega a hablar de "while", "for" con estudiantes que nunca habían escuchado estas palabras, para quienes después de la explicación "while" no es una palabra de uso cotidiano, sino un comando de computadora. Debo confesar que esto es lo que más problemas me ha dado con algunos estudiantes ya que el problema mnemotécnico previamente solucionado para los anglo-parlantes, persiste para todos aquellos que carecen de este conocimiento. Uno de los planes que tengo para implementar el próximo semestre es decorar el salón con el glosario, igual que lo hacen en los institutos de lenguas, esperando que estas palabras se hagan cotidianas antes de abordarlas en el contexto de la clase. No obstante me gustaría conocer algún lenguaje de programación en español.

Otro de los problemas con los que me encontrado es la imposibilidad, en algunos estudiantes de entender la naturaleza modular de los lenguajes de programación. Generalmente comienzo cada clase con la explicación de una estructura particular, de una función u otro elemento. En estas explicaciones generalmente me valgo de códigos que yo mismo he escrito específicamente para la clase (nada complicado) y al finalizar la explicación siempre hay un par de estudiantes que quieren copiar en sus cuadernos mis ejemplos, para repetirlos exactamente sin ningún cambio. Cuando me presentan estos ejercicios, trato de mostrarles como cambia todo modificando algunos parámetros, introduciendo aleatoriedad o simplemente borrando una función y aun así parecen no entender las posibilidades que un lenguaje como processing brinda al ser tan modular y tan simple. Es importante resaltar, que los estudiantes del grupo que comenzaron estudiando scratch no han presentado este problema, ha sido el grupo con el que comencé directamente con processing para quienes más resulta complicado entender el aspecto modular de los lenguajes de programación. Justamente esta semana comenzamos la exploración de clases y objetos, lo que ha desarrollado un especial interés en los estudiantes por este concepto (modularidad) y les ha despertado ideas interesantes sobre posibles proyectos finales. Otra cosa muy interesante que he notado es que los estudiantes que tienden a modificar códigos bajados de internet tienden a captar más rápido todo esto y presentan una curva de aprendizaje mucho más alta. Otra de mis ideas para el próximo semestre, además de comenzar el temario de la materia con scratch, es la de fomentar la intervención de códigos y no solamente la creación autónoma de estos.

La próxima semana continuaré este post. Quiero hablar de la importancia del trabajo autónomo del estudiante, de los preconceptos de los estudiantes a la programación, del miedo a las matemáticas y al código. Y el último post de esta serié será sobre las ventajas y desarrollos que he percibido en mis estudiantes en este tiempo.
 

domingo, 10 de abril de 2011

Enseñando Processing primera parte

Recientemente tuve la oportunidad de participar en Interactivos? BH , en la ciudad de Belo Horizonte, Brasil. Y una de las cosas que más me impactó fue el uso del lenguaje Processing en todos los proyectos, sin importar su complejidad. Al regresar a Colombia, lo primero que hice fue conseguir un par de libros y comenzar a estudiar este lenguaje y sobretodo, a comenzar a buscar una metodología pedagógica para enseñarlo a mis estudiantes de artes.
Las próximas semanas quiero abordar varios problemas y soluciones a las que he llegado, esperando que puedan ser de utilidad para otros docentes, ya que Processing es libre, funciona en Linux, Mac y Windows, es muy fácil de aprender y de enseñar a estudiantes de arte y existen muchos recursos gratuitos en Internet.
Actualmente tengo 2 grupos a los que les estoy enseñando processing, los dos compuestos de estudiantes muy similares, aunque las metodologías que estoy aplicando varían un poco.
Al primer grupo, donde la mayoría de los estudiantes no tenían experiencia alguna en programación, comencé por generar varios ejercicios en Scratch, para que aprendan los conceptos básicos y generen confianza frente a sus habilidades.
Al segundo grupo, que tiene conocimientos básicos de ActionScript, los introduje desde la primera clase a processing.
Lo primero que noté con esta diferenciación es que los estudiantes que comenzaron usando Scratch, se han desenvuelto mucho mejor respecto a conceptos importantes como bucles, condicionales y variables. Para el segundo grupo estos temas han sido bastante mas complicados, requiriendo múltiples explicaciones e inclusive, en algunos casos, forzando al docente a utilizar ayudas gráficas y audiovisuales.

Durante todo este proceso he aprendido mucho sobre los estudiantes de artes plásticas, sus expectativas frente a las artes de nuevos medios en nuestro contexto local, sus ideas preconcebidas sobre sus propias capacidades frente al medio y al lenguaje y sobretodo de las capacidades de mis estudiantes para abordar nuevas problemáticas, transformarlas a su favor e iniciar procesos creativos. En los posts que realizaré las próximas semanas voy a abordar estos problemas, además de los problemas metodológicos que me he encontrado, ya que actualmente me encuentro a la mitad del semestre académico y ya comienzo a ver los resultados del trabajo en el aula, muchos de los estudiantes que tenían problemas al comenzar el semestre hoy en día se encuentran desarrollando pequeños programas utilizando herramientas complejas.
Una anotación que quiero realizar antes de completar este post: Como esta es la primera vez que estoy enseñando un lenguaje de programación a mis estudiantes, para construir la metodología, me he basado en el libro Learning Processing, A beginners guide to Programming images, Animation, And Interaction, de Daniel Shiffman. Que se encuentra disponible en la BLAA. Este libro me ha sido de bastante utilidad, porque aunque no esta diseñado para apoyar el trabajo en el aula, la distribución de los temas se encuentra organizada de manera que los estudiantes de artes puedan entender mejor los contenidos.