Cuando
A los 12 años de edad, cuando los niños se sienten lo suficientemente cómodos con las matemáticas básicas para comprender la idea de un algoritmo. También para entonces sabrían algoritmos suficientes (incluso si no estuvieran bajo ese nombre, por ejemplo, la división larga es un algoritmo) para que tenga sentido automatizar su ejecución.
Como
Podría ser más fácil (especialmente para los niños más pequeños, 11–12) comenzar con los idiomas gráficos. Cuando era niño, hace muchos años en una tierra muy, muy lejana, alguien tomó esta brillante decisión de comenzar con este hermoso lenguaje llamado LOGO (“Logic Oriented Graphics Oriented”) que se hizo específicamente para niños. Podría escribir pequeños scripts para hacer que un cursor gire y dibuje un triángulo, un círculo, etc. y luego a gráficos más interesantes: mucha diversión. Entonces podrías hacer sentencias condicionales y construir desde allí. Quick-BASIC fue el primer lenguaje de programación “profesional” que nos enseñaron, aunque hoy en día podría tener sentido ir directamente a C a los 13 años.
- ¿Puede un niño pagar a sus padres el sacrificio de por vida?
- ¿Por qué nuestros padres nos decían constantemente que limpiáramos nuestros platos porque hay niños hambrientos en África?
- ¿Cómo puede la crianza de los hijos afectar el desarrollo infantil?
- ¿Cuáles son algunas habilidades de crianza importantes?
- ¿Qué fue lo primero que le dijo a su hijo en el momento de su nacimiento o el de ella?
Esa sería la parte práctica. Paralelamente, a los 13 años sería útil para ellos aprender los conceptos básicos del funcionamiento de una computadora (comenzando con la CPU, la memoria de trabajo y permanente, y el sistema operativo). El objetivo final (de 16 a 17 años) sería que ellos conozcan no solo la mecánica de escritura de bucles for y lo que dice si, sino también cómo interactúan el sistema operativo, el procesador y la memoria para ejecutar su código.
Desde el principio, creo que el énfasis debe estar en diagramas de flujo y algoritmos, en lugar de sintaxis de lenguajes específicos.