Ninguna dirigida a los niños, tengo miedo. Puedo, por supuesto, haber perdido algo. Este no es mi principal campo de investigación, solo un campo de investigación que estoy siguiendo por interés en pedagogía en informática.
En primer lugar, no estoy de acuerdo con que todos deban aprender la programación general, consulte: Pensamiento computacional para la formación de docentes. En cambio, supongo que veremos una construcción de herramientas más especializada para todos. Por ejemplo, capacite a su AI personal, cree su propia herramienta de análisis financiero en un metatool para el análisis financiero.
Una tendencia es enseñar la programación es la programación en bloque (consulte Programación que se puede aprender: Bloques y más allá) por los siguientes motivos:
- Los entornos admiten el reconocimiento (de una paleta) en lugar del recuerdo (de su memoria) del vocabulario
- Los bloques reducen la carga cognitiva en el programador.
- Bloques de soporte de montaje de código.
Ahora, hay problemas en la transferencia de bloques a la programación general, como se señala en Más allá de los bloques: Sintaxis y semántica. Pero algunos de estos problemas se alivian como se señala en Programación aprendible: Bloques y más allá, al proporcionar entornos donde se puede cambiar entre bloques y texto.
- ¿De qué se trata la Ley de Contratos de la India?
- ¿Cuáles son algunos materiales académicos sobre la americanización de Corea del Sur?
- ¿Cuál es una buena fuente para aprender anuncios de Google?
- ¿Cuáles son los mejores recursos para aprender Java?
- ¿Cuáles son los mejores recursos para aprender atajos de teclado?
En lo que respecta a la programación funcional, introduce una carga cognitiva adicional al abstraer la forma de un estilo más declarativo. Por lo general, significa que debe dominar la recursión, no solo comprenderla, sino usarla para desarrollar aplicaciones. Hay investigaciones en curso sobre la enseñanza recurrente: enseñanza y aprendizaje de la programación recursiva: una revisión de la literatura de investigación, http://www.macs.hw.ac.uk/~greg/p…. La recursión se considera difícil de dominar (consulte https://www.researchgate.net/pub…).
Mi experiencia personal limitada al enseñar a los niños a programar es que debe haber cortos ciclos de aprendizaje, el reconocimiento es mucho más fácil que recordar y ensamblar el código es más intuitivo en entornos de bloques. Mi experiencia con la programación funcional (ML, Lisp, algo de Haskell, Web / UR, Prolog (hmm, encaja en la lista)), algo de Erlang es que las construcciones son todo menos intuitivas a menos que entiendas la recursión y el modelo computacional implícito.
Por lo tanto, los investigadores y los profesionales están considerando diferentes caminos para enseñar a los niños a programar, pero un tema común es el uso de bloques. Creo que no hay consenso sobre cómo hacer esto exactamente y, en particular, no para la programación funcional. Por lo tanto, hay muchos retos de investigación por delante.