Didáctica de la programación

Lunes 30 de Junio de 2008

@ndres me hizo una pregunta interesante (gracias a Moradin; necesitaba un tema para el post del lunes): ¿Cómo abordaría enseñar programación en un colegio, aunque a los estudiantes no les gustara?

Supongo, por la pregunta, que no puedo aplicar mis primeras ideas:

  1. No hacerlo
  2. Torturar a los herejes
  3. Convencer al director que no vale la pena

Tengo que empezar por aclarar que no tengo ningún tipo de formación pedagógica. No tengo paciencia para enseñar. Mis ‘alumnos’ terminan con más moretones que conocimientos.

Como dije, la programación, en el mismo nivel que las artes, la arquitectura, la publicidad, y otros campos, tienen partes que se pueden enseñar—puedo enseñar la sintaxis de un lenguaje, las técnicas para mejorar la escritura, formas de mejorar los trazos, mostrar diseños y miles de ejemplos de ‘genios’ anteriores a nosotros—, pero hay una parte, igual de grande o más, que no se puede empezar a describir.

Es imposible meterle a alguien en la cabeza algo relativamente complejo, como la programación, si no le gusta programar. Desde el principio esperamos perder a muchos por el camino. Lo importante es empezar con suficientes para llegar al final.

Odio la Historia, la Geografía,  la Sociología y la Biología… todas las ciencias blandas; me encantan la Química, la Física y la Matemática. Por mi propia experiencia, a la gente que le gustan las últimas tiende a irle mejor en la programación. Eso no quiere decir que las primeras no puedan hacerlo; si fuera así, probablemente no habría programas como los de cura del SIDA o el cáncer.

Lo importante es conseguir interés, que los alumnos propongan proyectos que les gustaría hacer. No importa, ahora, la dificultad; es un momento de brainstorming. El profesor también puede tirar ideas de cosas que ya se hayan hecho o que quiera hacer, como ejemplo de qué puede hacerse.

Obviamente, 50 propuestas van a ser “un juego”. Otras tantas van a ser de inteligencias artificiales.

Walter, un amigo, me contó que en la facultad hay proyectos de investigación involucrando PIC y demás. Si podemos usar éstos (o, no sé, un Arduino) para la práctica, conseguimos un objeto físico para interactuar. Algo tan simple como hacer que un LED parpadee es más interesante que el “Hola, Mundo!”. Si tenemos los recursos, armar un robot tan simple como dos ruedas para movimiento y una de apoyo hará maravillas.

Es importante no obligar a nadie a un proyecto u otro, sino dejarlos que elijan, aunque al profesor correspondería seleccionar los que se puedan terminar.

Y ahora es donde se empieza a poner más complicado. La división de tareas, interfaces, funciones… todo lo que sea código. Y acá vamos a empezar a perder interés. Hay que encontrar la forma de rellenar las líneas que acabamos de dibujar, cubrir las bases que cualquier proyecto necesita (lógica, bucles, variables, estructuras de datos, parámetros, funciones…), y las partes específicas de los otros (APIs, heurística, búsqueda de caminos…).

Esto último se puede enseñar; casi cualquiera puede hacerlo. Lo que necesitamos es generar el interés, antes de empezar.

Por favor, dejá un comentario, o un trackback desde tu sitio. Podés seguir la conversación con el Feed de comentarios de este post.

3 Comentarios a “Didáctica de la programación”

  1. Juan dijo:

    Miércoles 2 de Julio de 2008, 01:06

    Tal vez el hecho de hacer algo con hard dejaría a muchos fuera de juego por cuestiones de costo. Quizás arrancando sólo con soft sería mejor.

    1er nivel: XHTML, CSS, JavaScript
    2do nivel: Algún lenguaje de scripting y DB

    Además de educar en lo que respecta a utilizar la web como herramienta diaria es algo más tangible y económicamente accesible (si no tienen PC, usan las de la escuela).

    Mi hermano hizo la secundaria en una escuela en la que a partir de 3er año les hacían optar por tres tipos de orientaciones: social, físico/matemático y docente. En este caso se aplicaría a los del medio o se crea una disciplina nueva (yo votaría por esta última)

    ‘genios’ anteriores a nosotros

    Obvio, te faltó poner :P

  2. Tordek dijo:

    Miércoles 2 de Julio de 2008, 02:44

    No discuto que pueda haber gente que de verdad no pueda, pero… Bien, un Arduino sale ~$130 desde una página chilena, barato no es, pero accesible… (No digo uno por cabeza, claro.)

    Con respecto a los lenguajes en sí… depende. Y hay algunos que recomendarían LISP.

    A mi también me tocó el caos de la Polimodal. Tuve que elegir entre Sociales y Naturales (o cambiarme de escuela; algunas tenían una orientación a Programación, y en la facultad conocí gente que la eligió)… y odio las ciencias sociales.

    Y no entendí tu comentario de Obvio :S.

  3. Juan dijo:

    Miércoles 2 de Julio de 2008, 23:54

    ‘genios’ anteriores a nosotros

    No sabía que éramos genios :P

Comentá:

Entrá con tu cuenta, registrate, o escribí tus datos:

XHTML permitido: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">