viernes, 20 de mayo de 2011

Enseñando Processing Parte 4

Ya estoy finalizando el semestre y estoy comenzando a ver los resultados del trabajo realizado durante todo este periodo académico. La mayoría de mis estudiantes han logrado un desarrollo bastante aceptable en cuanto al uso del lenguaje e inclusive algunos lo dominan mucho mejor que yo.  Lastimosamente las 16 semanas de duración de la clase no nos da tiempo para que desarrollen sus propias propuestas independientemente. El próximo semestre tengo la intención de programar mejor los ejercicios en casa para acelerar el proceso y poderles dar un mes completo para el desarrollo de sus trabajos finales. Voy a generar una lista de ejercicios que les entregaré para que desarrollen por su cuenta, todos aumentarán de complejidad progresivamente. Tengo dos intenciones con esta lista: Acelerar el aprendizaje del grupo y generar costumbre y gusto por la programación. El secreto para lograr esto radicará en proponer ejercicios que ofrezcan resultados visualmente muy atractivos desde el principio, olvidarme del "Hola Mundo" y por el contrario enfatizar lo visual y lo interactivo.  
El semestre aun no ha finalizado y todavía no he visto los trabajos de la mayoría, pero quiero compartir un vídeo que hice en clase esta semana del trabajo de dos de mis estudiantes quienes han investigado por su cuenta, copiando algunos códigos de openprocessing.org y agregando algunas lineas han conseguido llegar a un primer resultado muy interesante. 

Espero poder poner mas vídeos después de la entrega final.



domingo, 1 de mayo de 2011

Enseñando Processing Parte 3

Este será el último post de esta serie por un tiempo, quiero completar los procesos de este semestre para poder concluir con mayor precisión el tema.

Por el momento quiero compartir algunas situaciones referentes a los preconceptos que muchos estudiantes de artes tienen respecto a la programación y a su relación con los nuevos medios. Vale la pena aclarar que todos mis estudiantes han escogido estudiar nuevos medios, teniendo la opción de estudiar pintura, grabado, vídeo, fotografía y otras opciones disciplinares que la carrera les ofrece como parte de sus estudios como profesionales en artes plásticas y visuales.  Por esta razón me ha costado trabajo entender porque algunos estudiantes se han negado a aprender Processing, alegando que este lenguaje es muy complicado y asegurando que no tienen las capacidades necesarias para aprenderlo.  Después de un análisis de la situación y de los estudiantes involucrados, pude concluir que esto se debe a 2 situaciones particulares: la primera está relacionada con problemas de lecto-escritura, no diagnosticados, que dificultan los procesos de aprendizaje del estudiante (aunque otros estudiantes con problemas similares han conseguido aprender este lenguaje estudiando fuertemente en casa). Muchos estudiantes de artes plásticas tienen problemas de lecto-escritura y estos generalmente no le impiden culminar sus estudios gracias a la técnica y destreza que muestran frente a la producción de imagen; el problema aparece cuando la imagen plástica se produce a partir de texto. La segunda situación tiene que ver con el miedo a las matemáticas y la lógica alimentado en la educación básica y media. La solución a cualquiera de estos dos problemas depende en gran medida del compromiso del estudiante con su propio proceso, aunque de igual manera me parece que es responsabilidad del docente motivar al estudiante. Todo este semestre me he estado preguntando por las posibles estrategias para interesar a todos, pues no basta con presentar el aprender un lenguaje de programación como necesario e importante, también debo presentarlo como asequible e interesante. Con el paso del tiempo me he dado cuenta que en el sitio web de processing hay bastante material que puede ser usado para interesar a los estudiantes mostrandoles el resultado de procesos realizados por otros artistas que se encuentran publicados en este sitio. El próximo semestre voy a incluir constantemente una revisión de estos trabajos, así como de otros sitios que he encontrado de artistas latinoamericanos, quienes realizan proyectos con menos recursos. Aun así considero que esto no es suficiente y que tengo que pensar en mejores estrategias.

En realación a este tema de la motivación he estado pensando mucho el tema del estudio independiente del estudiante. Para entender cualquier lenguaje de programación o cualquier lenguaje en general es necesario trabajar individualmente por lo menos el doble del trabajo en el aula. Analizando el rendimiento de mis estudiantes frente a los procesos lógicos, la memorización del la sintaxis del lenguaje y la comprensión de los procesos, he llegado a la conclusión que solamente el 10% de los estudiantes estudian por su cuenta. Esto fue algo que comente con un amigo, docente de la facultad de ingeniería, quien me comento que lo común en el campo de la ingeniería es que el estudiante aprende la mayor parte del lenguaje por su cuenta y que los docentes actúan como guías de un proceso puramente personal(tal vez lo puso en otras palabras al explicar la metodología, más o menos "vaya chino estudie"). Por supuesto esto no es aplicable en la facultad de artes, o por lo menos aun no. Una primera solución que he encontrado a este problema es exigir la entrega de un trabajo diario, algo que no haré el próximo semestre ya que la mayoría de los estudiantes no saben que hacer o no tienen un proyecto particular que realizar. Estoy preparando una lista de ejercicios, que entregaré a los estudiantes, indicando además de los parámetros claros de cada ejercicio, los plazos máximos para la entrega de cada ejercicio. Creo que de esta forma podré desarrollar en el aula todos los temas a un ritmo mayor y facilitar a todos el desarrollo de los sus trabajos de final de semestre.

Por el momento no tengo más que comentar. A finales del mes de mayo volveré a retomar este tema para contarles como me fue.

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.