¿Le enseñas a tus hijos a programar? ¿Qué métodos utilizas?
Un sobrino me pregunta ocasionalmente, pero como es autodidacta simplemente le indico lo que tiene que investigar. Lo hace, y le resulta. Sus preguntas tienen que ver con algún problema no trivial al cual no puede «darle la vuelta» y no encuentra nada ni parecido que copiar en internet -- suelen ser problemas que no puedes resolver a menos que hayas estudiado algoritmos formales o estructuras de datos. El comprende que programar es relativamente fácil, pero programar bien es bastante más complicado, y está aprendiendo a manejar la complejidad. Cuando me insiste con un ejemplo, se lo hago con un lenguaje que él no conozca pero que exprese bien el problema -- después el intenta traducirlo al lenguaje que le gusta, usualmente comentando que «fue difícil, no quedó tan resumido y es lento».
A MiniMe no le ha interesado el asunto. Le han puesto tareas con Scratch, las hemos resuelto con LOGO, y luego traducido a Scratch. Llegó a la conclusión de que LOGO es mucho mejor aunque Scratch sea «bonito». Aún no ha explotado su lado analítico, ni estratégico.
Si tuviera que describir el «método» sería: *nunca* les doy la solución, los obligo a «pelearse» con el problema y usar todas las herramientas disponibles (aritmética, geometría, lenguaje, relaciones) hasta llegar a comprender el problema y poder explicarlo bien, antes de ponerse a escribir una solución. Trato de que valoren la actividad de pensar en el problema y comprenderlo a fondo; eso es lo que hace mejorar tus habilidades y no «buscar la respuesta en Google».
A veces pienso que los jóvenes tienen dificultades con estas cosas porque no fueron aficionados a los juegos estratégicos tradicionales, en los cuales vale más la planificación pausada y la organización de líneas de razonamiento, que la habilidad para presionar botones rápido. Y cada vez me asombra menos cuando me toca hablar de algún juego de mesa o acertijo para explicar algoritmos, y la mayoría no tiene ni idea del juego ni del acertijo.
No sabría cómo enseñar a programar. Para mí programar «no podía ser de otra forma» cuando aprendí hace 35 años. Aprendí por imitación, consciente que por ser imitador lo estaba haciendo mal, y de no haber sido por el estudio (formal e informal), seguramente sería un «coder» produciendo muchas líneas con resultados promedio. Hoy en día, no podría estar a cargo de un curso para «enseñar a programar». Hasta ahora, sólo puedo enseñar a programar mejor o en maneras «diferentes» a las «populares».
A MiniMe no le ha interesado el asunto. Le han puesto tareas con Scratch, las hemos resuelto con LOGO, y luego traducido a Scratch. Llegó a la conclusión de que LOGO es mucho mejor aunque Scratch sea «bonito». Aún no ha explotado su lado analítico, ni estratégico.
Si tuviera que describir el «método» sería: *nunca* les doy la solución, los obligo a «pelearse» con el problema y usar todas las herramientas disponibles (aritmética, geometría, lenguaje, relaciones) hasta llegar a comprender el problema y poder explicarlo bien, antes de ponerse a escribir una solución. Trato de que valoren la actividad de pensar en el problema y comprenderlo a fondo; eso es lo que hace mejorar tus habilidades y no «buscar la respuesta en Google».
A veces pienso que los jóvenes tienen dificultades con estas cosas porque no fueron aficionados a los juegos estratégicos tradicionales, en los cuales vale más la planificación pausada y la organización de líneas de razonamiento, que la habilidad para presionar botones rápido. Y cada vez me asombra menos cuando me toca hablar de algún juego de mesa o acertijo para explicar algoritmos, y la mayoría no tiene ni idea del juego ni del acertijo.
No sabría cómo enseñar a programar. Para mí programar «no podía ser de otra forma» cuando aprendí hace 35 años. Aprendí por imitación, consciente que por ser imitador lo estaba haciendo mal, y de no haber sido por el estudio (formal e informal), seguramente sería un «coder» produciendo muchas líneas con resultados promedio. Hoy en día, no podría estar a cargo de un curso para «enseñar a programar». Hasta ahora, sólo puedo enseñar a programar mejor o en maneras «diferentes» a las «populares».