Me han llamado a enseñar lenguaje C a niños de 8 a 16 años. No tienen una base de programación. ¿Qué debo hacer?

Trataría de convencer a quien esté a cargo de que no es una buena idea. Sugeriría Python o algo así en su lugar (o algo así como Scheme si te sientes inclinado), pero al menos para los niños más pequeños puede ser mejor hacer algo como Scratch o Code.org. El rango de edad que está describiendo es enorme. Los niños más pequeños nunca habrían visto álgebra, mientras que los mayores estarían razonablemente preparados para un curso de programación de introducción.

Sin embargo, si realmente tiene que enseñarlo, puede continuar como lo haría en cualquier otro caso. Explicar el concepto básico de variables y estructuras de control, y explicar cómo hacer E / S. Ve muy despacio, con muchos ejemplos y pequeños ejercicios. Solo dígales que ciertas cosas que tienen que hacer tienen que estar allí (como incluye) para que las cosas funcionen, pero aún no tienen que entenderlas. Probablemente también pueda explicar las matrices (de límite fijo) y las funciones y hacer algunos algoritmos básicos. Puedes concluir haciendo algunos juegos simples (como adivinar un número). Y eso es probablemente suficiente. No haría punteros en una clase como esta, a menos que no puedas evitarlo. Es suficiente para obtener una comprensión básica.

Primero, muéstreles lo que puede hacer la programación. Comience con algunos juguetes y dispositivos favoritos. Muéstreles un microcontrolador y dígales que este es el cerebro dentro de todos estos increíbles dispositivos. Explíqueles que entrena una computadora de la misma manera que lo hace con una mascota; con un comportamiento deseado, frases simples y repetición. Explique que están poniendo un poco de su mente y su pensamiento dentro de ese chip. Enséñeles a pensar primero como un programador. Hay muchos ejercicios que les ayudan a comprender que tienen que ser muy explícitos al dar instrucciones. Un ejercicio divertido es decirles que desea que un elemento se mueva de un lugar y se coloque en otro. Dígales que tienen que escribir una serie de instrucciones para realizar la tarea y que alguien más tendrá que seguirlas exactamente. Además, indíqueles que la persona que recibe sus instrucciones tendrá los ojos vendados. Esto elimina trampas como “Ir a la xyz”. Tendrán que decirles cuántos pasos, dónde poner sus manos, cómo identificar lo que están buscando, etc. Es un ejercicio de cómo pensar como un programa. Una vez que los haya inspirado sobre por qué quieren programar (porque así es como funcionan todas las cosas ordenadas) y cómo pensar como un programa, puede comenzar a enseñar los conceptos básicos de la programación. Recuerde, están aprendiendo estos comandos para enseñar a su computadora / microcontrolador mascota. Solo podrá hacer los trucos que le enseñan. Necesitan conocer los comandos, ser coherentes y ser creativos. Los niños definitivamente pueden aprender programación en C, de la misma manera que pueden aprender a hablar inglés, francés, español, mandarín, etc. Pequeñas frases primero, elocuencia después. 🙂 Buena suerte Te vas a divertir mucho! Los niños son mucho más divertidos de enseñar que los estudiantes universitarios que piensan que ya lo saben todo. Las pequeñas victorias también significan mucho más para ellos. ¡Que te diviertas! Sé que lo harás.

Para los más jóvenes (8–9 o 10), Logo. No tienen el vocabulario (o la mentalidad) para ningún lenguaje C-ish.

Para los más viejos, enseñe programación antes de enseñar cualquier idioma (y explique a sus jefes que aprender idiomas sin aprender programación por primera vez los convierte en perdedores (en conseguir trabajo) más adelante en la vida.

Nunca volví a llamar a ningún “programador” que supiera idiomas pero no programara (que es un método y se puede enseñar en inglés).

Cualquier estudiante que no pueda entender Algoritmos y Estructuras de Datos (posiblemente la mejor programación, no el lenguaje, el curso jamás escrito) es demasiado joven para aprender programación (o su cerebro no está conectado para eso), ¿trataría de obtener s 4′3? “¿Un niño en la NBA? Si tuviera 7′3” a las 9 o 10, definitivamente lo vigilarían.