Introducción
Los presentes consejos se basan en mi experiencia personal enseñando programación en el ámbito formal, con alumnos de secundaria (12 a 18 años). Como todo proceso de enseñanza - aprendizaje el éxito deposita un peso importante en los dos actores principales: docente y alumno, por ello es posible que lo que a mí me funciona con mis grupos no funcione en otros ámbitos por el perfil del docente o de los alumnos, pero seguro que puede ser útil como punto de partida para conseguir unas sesiones satisfactorias.
El lenguaje
¿Qué enseñamos? ¿Python?, ¿C++?, ¿Javascript?... En realidad da igual, lo importante es centrarse en un lenguaje y enseñar las cosas básicas que comparten todos los lenguajes de programación (variables, bucles, funciones, condicionales...) así como a elaborar algoritmos y mejorar la forma de pensar de cara a programar (pensamiento computacional).
Una vez has aprendido un lenguaje tienes facilidad para aprender otros, sólo hay que fijarse en la sintaxis propia de cada lenguaje y desde ahí construir un aprendizaje.
Mi consejo, en caso de empezar de cero y no querer acudir a uno de los típicos programas enfocados a aprender a programar (Scratch, por ejemplo), sería acudir a Python. Sus estructuras de código son sencillas y eso acelera el aprendizaje. Además, se trata de un lenguaje multipropósito que es usado en el ámbito profesional. Si la parte gráfica es un problema podéis empezar con Python en Processing.
Lo importante es esforzarse en enseñar en profundidad y no en extensión. No sirve de nada enseñar 5 o 6 lenguajes y no utilizar ninguno realmente.
Las clases
Bajo mi punto de vista trabajar de forma magistral con un grupo amplio de personas que tienen delante un ordenador es un infierno. No le desearía ni a mi peor enemigo tratar de avanzar al mismo ritmo con 30 alumnos adolescentes y una pantalla en sus manos. Es cierto que tiene que existir una introducción guiada y algo más magistral, pero el error está en centralizar esa introducción en una única persona y un único tiempo.
Personalmente creo que deberían trabajar los alumnos de forma individual, por parejas o en el peor de los casos por trios, compartiendo un ordenador. Si no es posible hacerlo así el proceso se dificulta bastante y habrá que pensar en un método que haga que todos los alumnos tengan sus momentos de desempeño con el ordenador.
Mi consejo es que se trabaje por retos o pequeños proyectos tras una primera fase de aprendizaje de las bases y aspectos relevantes. Para ello prepararía un guión de unos primeros ejercicios explicando la base en texto, vídeo o cualquier otro medio. Hay que conseguir que cada uno de los alumnos o grupos puedan resolver sus dudas y avanzar a su ritmo. Es un hecho que el medio educativo habla mucho de favorecer diferentes ritmos de aprendizaje pero en este caso es indispensable.
Una posible forma de trabajar sería:
- Los grupos de trabajo tendrán un pequeño guión inicial a seguir para entender los conceptos básicos. Digamos que sería como el tutorial inicial de cualquier videojuego antes de lanzarse a la aventura.
- Tras completar el "entrenamiento" cada alumno o grupo tendrá una serie de retos que tendrán que ir resolviendo a su ritmo. Desde el principio se dejará claro que cantidad mínima de retos habrá que superar pero no se pedirá un número a partir de ahí, sino que se buscará que cada grupo avance a su ritmo.
- Lo idóneo sería que los retos tuviesen una resolución abierta, de forma que cada grupo pueda acometer su resolución de diferentes maneras y favorecer la riqueza de soluciones en el aula. Esto no quiere decir que no se pueda permitir que todos lo hagan de la misma forma, sino que no se enfoque a la solución directamente sino que se plantee un problema que haya que resolver y el cómo hacerlo quede más a la elección de cada alumno o grupo de trabajo.
- Los retos deberán pedir diferentes cosas, no siempre un script, de forma que haya que ir presentando diferentes soluciones (un diagrama de flujo, un programa comentado, un script...).
- Los alumnos deben tener una webgrafíadonde puedan acudir a solucionar todos sus problemas, el profesor debe dejar de ser la figura a la que acudir para resolver dudas. Es importante trabajar en ello y, al principio, será un poco desastroso porque suelen estar muy acostumbrados a preguntar sin pararse a intentar buscar la solución. Por ello tenemos que recoger una serie de páginas con ayudas para el lenguaje que elijamos, tutoriales de gente que enseñe cómo resolver problemas, etc. En última instancia estará la búsqueda por internet para intentar resolver un problema. De conseguirlo estarán aprendiendo mucho más que a programar.
Seguir leyendo en Campus Tecnológico por Alfredo Sánchez Sánchez
Imagen: Klipartz - CC NC