¿Cuál es la mejor manera de enseñarles a los niños a programar?

Mucha gente ya ha mencionado algunos recursos realmente excelentes aquí. Obviamente, todavía no hay un único recurso que sea LA MEJOR manera de enseñarle a un niño a programar, por lo que debes involucrarte y ser inventivo.

Cuando le estás enseñando a un niño a programar, las dos cosas más importantes son:

  1. Que sea divertido Si no es divertido, se resentirán con el proceso, no querrán seguir haciéndolo y su capacidad de aprender a programar se verá comprometida.
  2. Evaluar su habilidad constantemente. Este punto no es tan obvio pero es absolutamente crítico. Permítanme analizar por qué esto es tan importante comenzando con el concepto de flujo.

Diseño de flujo y juego

El flujo es ese maravilloso estado de sentirse completamente inmerso en lo que estás trabajando. Puede concentrarse, sentirse involucrado y disfrutar de lo que está trabajando. Si puede mantener a los niños en un estado de flujo, sin hacerlo demasiado fácil o demasiado difícil, entonces se mantendrán comprometidos y el aprendizaje será divertido. Flow es una idea central en el diseño de juegos, porque un juego necesita mantener a los usuarios en este estado para mantenerlos interesados ​​e interesados ​​a largo plazo.

Este gráfico muestra cuán estrecha es realmente la zona de flujo. En el cuadrante más bajo del gráfico, donde la dificultad es baja, no importa si el nivel de habilidad de su hijo también es bajo. Pero a medida que el material se vuelve más difícil, es fácil salirse del camino. Si la habilidad del alumno progresa más rápido que la dificultad del material, se aburrirán, pero si el material se vuelve demasiado difícil antes de que su habilidad se ponga al día, se ponen ansiosos y comienzan a desagradar el proceso. Dado que estar en un estado de flujo es fundamentalmente motivador, esta es realmente la clave para asegurarse de que un niño realmente aprenda y siga interesado en el proceso de aprendizaje. ¿Cómo se asegura de que un niño permanezca en un estado de flujo mientras aprende a programar? Ahí es donde entra en juego el aprendizaje de dominio.

Dominio del aprendizaje

El aprendizaje de dominio es una filosofía educativa popularizada por el influyente psicólogo educativo Benjamin Bloom. La idea es que un estudiante debe demostrar que ha dominado una habilidad o concepto antes de poder avanzar al siguiente nivel. Si no han alcanzado al menos el 90% de comprensión cuando son evaluados, se les da instrucción adicional y práctica hasta que alcanzan ese punto de referencia. La instrucción personalizada, en lugar de la estructura tradicional del aula, es un componente clave para el aprendizaje de dominio, ya que no hay dos estudiantes que aprendan a la misma velocidad o que nunca estén en el mismo lugar exacto en la zona de flujo. Bloom demostró en su problema de 2 sigma que un niño promedio que recibe tutoría individual usando técnicas de aprendizaje de dominio realizará 2 desviaciones estándar por encima del promedio, en comparación con los niños educados en un aula tradicional. (Una de las únicas implementaciones verdaderas de esta filosofía en este momento es Kumon, una cadena internacional de escuelas que enseñan habilidades de matemáticas y lenguaje. En una escuela de Kumon, no hay un plan de estudios que todos los estudiantes sigan. En cambio, los maestros crean planes de aprendizaje individuales para cada alumno, que se actualizan regularmente en función del progreso del alumno. Un alumno no puede pasar a material nuevo hasta que demuestre que ha dominado el material que está estudiando actualmente).

Evaluación

Como puede ver, la capacidad de evaluar constantemente la capacidad de alguien de una manera muy precisa es la clave para mantenerlos comprometidos y en el estado de flujo. Ninguna experiencia de aprendizaje estandarizada y que no responda puede replicar las técnicas de evaluación individualizadas del aprendizaje de dominio. No hay un tutorial o aplicación perfecta en el mercado en este momento porque la evaluación automatizada aún no se ha perfeccionado realmente. En la mayoría de los casos, los niños que usan una de estas herramientas caerán del estado de flujo ya sea porque el material se pone demasiado duro y ya no quieren hacerlo o no es lo suficientemente difícil y se aburren. En CodeFights hemos avanzado mucho en evaluaciones automatizadas en los últimos años, pero nuestro enfoque todavía está en el extremo superior del espectro de aprendizaje. Cuando se trata del aprendizaje en la etapa inicial, por ahora, la evaluación manual es la única forma verdadera de controlar con precisión el nivel de habilidad de un niño y mantenerlo involucrado en el proceso de aprendizaje. Esto significa que debes estar atento a la prueba de su nivel de dominio, ajustando el material que están aprendiendo para que esté en línea con sus habilidades. De esa manera, pueden permanecer constantemente en la zona de flujo y el proceso sigue siendo divertido.

Si bien el proceso de usar los principios de aprendizaje de dominio y la evaluación constante para mantener a un niño que está aprendiendo a programar en un estado de flujo requerirá mucho más esfuerzo de su parte que simplemente colocarlo frente a un navegador con Scratch cargado, pagará fuera al final. El niño seguirá involucrado en el proceso de aprendizaje y estará muy motivado para seguir “subiendo de nivel”.

Si desea obtener más información sobre el tema, recientemente di una charla TEDx sobre cómo hacer que el aprendizaje sea adictivo. Puedes ver el video a continuación:

Recientemente publiqué una instantánea de opciones interesantes para padres y niños que desean aprender a codificar, diseñar y tal vez incursionar en la robótica:

“Mi última obsesión educativa gira en torno a enseñar a los niños las herramientas clave para la creatividad y el empoderamiento durante los próximos 50 años: desarrollo de software, diseño y robótica. Mientras que varios organismos gubernamentales y educativos han estado publicando documentos de debate sobre el tema (lea: ver usted en 10 años o mudarse a Estonia): hay una serie de servicios en línea emergentes y programas de voluntariado que pueden acelerar su presentación en el hogar, en el aula o incluso en su comunidad local. Aquí hay una instantánea de los motores actuales:

Scratch: un maravilloso entorno de desarrollo de software para niños creado por MIT. Muy intuitivo, es una gran herramienta para enseñar a los niños mayores de 7 años los componentes básicos del desarrollo de software al crear sus propias animaciones y juegos. Una forma divertida de comenzar es combinarlo con “The Super Scratch Programming Adventure”, una guía tipo cómic escrita por el proyecto LEAD (Aprendizaje a través de la ingeniería, el arte y el diseño). ¡Gracias a Hilary Mason por la sugerencia!

Coder Dojo: un movimiento para crear clubes de codificación gratuitos para jóvenes de todo el mundo. Impartido y organizado por voluntarios que siguen un dogma de “mantener la calma”, este es un paso obligado si está interesado en unirse, organizar o enseñar un dojo local. En el Reino Unido, también vale la pena estudiar un programa muy similar llamado Code Club. Las escuelas deben buscar de manera proactiva a nuestros voluntarios Coder Dojos o Code Club para realizar sesiones semanales después del horario escolar.

Academia Khan: los brillantes videos de Salman Khan han hecho que la educación avanzada sea gratuita y accesible para todos durante algún tiempo. Computer Science es una de las muchas pistas disponibles y una excelente manera de comenzar con los conceptos básicos de diseño, animación y programación.

Codecademy & Learnstreet: aunque no está diseñado para niños, Codecademy y Learnstreet hacen que sea muy fácil aprender a codificar. Una hora a la semana le dará a cualquier padre o maestro la fluidez para apoyar a sus hijos en aprendizaje (y por qué no, crear sus propios juegos, aplicaciones o sitios web).

Arduino – y finalmente, robótica. Con el advenimiento de Arduino, una plataforma de hardware y software de código abierto para la creación de objetos interactivos, varios proyectos centrados en los niños han aprovechado la tecnología para introducir a los niños a los principios de la robótica. Lo más destacado que he encontrado es RoboBrrd, un lindo robot de pájaros que les brinda a los niños experiencia práctica en ingeniería mecánica y eléctrica, y programación.

En una nota personal de la lista de deseos, me encantaría ver un rico juego de aventuras como un entorno en el que se alcanza la nivelación aprendiendo principios de codificación, diseño, interacción del usuario, criptografía, inteligencia artificial y big data. Estoy ansioso por ver qué inventa Kuato Studios en este espacio. Alternativamente, es hora de empujar a un talentoso dúo de hackers y diseñadores de juegos para lanzar un nuevo proyecto de Kickstarter o Indiegogo … ”

¿Cuál es la mejor manera de enseñarles a los niños a programar? Me gustaría definir primero qué es realmente esa pregunta. Entiendo la pregunta de la siguiente manera:

  1. ‘forma de enseñar a los niños’ para que signifique el enfoque y el método de enseñanza
  2. ‘La mejor manera de enseñar’ significa el método para lograr los resultados de aprendizaje deseados

Mi respuesta a la pregunta se centra en el método de enseñanza y los resultados de aprendizaje deseados en lugar de las herramientas para enseñar a los niños la programación como Scratch, Codecademy o tabletas.

¿Cuáles son los resultados de aprendizaje deseados que resultan de enseñar a los niños a programar? La programación es una habilidad superficial, pero el proceso de aprender a programar desarrolla habilidades más profundas y transferibles y puede apoyar:

  1. Una base para el aprendizaje permanente
  2. Los niños deben ser creativos, curiosos y comprometidos.
  3. Los niños se convertirán en creadores de cambios, innovadores y creadores.

La programación es una habilidad de empoderamiento porque es una herramienta para crear, inventar, expresarse y resolver problemas de la comunidad.

Divertido y atractivo

La entrega de contenido para enseñar a los niños al programa es divertido y atractivo. Aprender a programar permite a los estudiantes crear proyectos personalizados con personajes de su elección, por ejemplo, dragones y magos o unicornios y arcoiris. El contexto para el aprendizaje es interactivo, los estudiantes pueden construir juegos de computadora, animaciones, obras de arte digitales o resolver problemas de la comunidad. Los estudiantes se enganchan en el tema a través de divertidas excursiones escolares o una demostración de un proyecto completado, como un juego de computadora. Llevé a un grupo de estudiantes a una excursión para experimentar la tecnología de realidad virtual en Holoverse en Gold Coast, Australia y el Centro Australiano para la Visión Robótica en Brisbane, Australia, donde conocimos robots que están aprendiendo a “ver” utilizando el aprendizaje automático. El contenido divertido y atractivo resulta en un aprendizaje autónomo.

Resiliencia a través de prueba y error

Aprender a programar es una experiencia muy diferente al aprendizaje en un modelo tradicional de educación académica. Aprender en una escuela tradicional implica enviar tareas o completar exámenes donde el estudiante recibe una calificación o una calificación. Los errores se registran y se consideran una expresión de fracaso.

Aprender a programar requiere que el estudiante aborde el aprendizaje de una manera completamente diferente. Necesitan aprender a sentirse cómodos con la incertidumbre y aprender de la prueba y el error. Los errores son comentarios que guían el aprendizaje. Los estudiantes desarrollan una hipótesis, la prueban, observan los resultados y aprenden de los comentarios. El aprendizaje es un viaje de toda la vida y la programación establece una base sólida para el aprendizaje autónomo de toda la vida. Aprender a programar enseña resiliencia, resolución de problemas, investigación científica y fortaleza mental.

Resultados primero, luego herramientas

Aquí hay algunos consejos adicionales sobre cómo un maestro podría abordar la planificación de lecciones para lograr los resultados de aprendizaje deseados. En primer lugar, se deben identificar los resultados de aprendizaje deseados. En Australia utilizo los resultados de aprendizaje definidos en la nueva asignatura de Tecnologías Digitales que con el tiempo será obligatoria en cada uno de los Estados de Australia. El siguiente paso, basado en los resultados, diseño actividades de clase para lograr los resultados. Una vez que se han diseñado las actividades de la clase, solo entonces identifico las herramientas y el equipo que necesito para realizar la actividad de la clase.

A menudo veo que las escuelas hacen el enfoque completamente opuesto. Primero compran tecnologías, equipos o suscripciones a cursos en línea, luego descubren cómo entregarlo en clase. Este enfoque conduce a lagunas en los resultados del aprendizaje.

La clave para desarrollar su mejor manera de enseñar a los niños la programación es comprender los beneficios de la programación, alejarse de un modelo de enseñanza tradicional y centrarse primero en los resultados del aprendizaje y las herramientas más tarde.

Soy Emily de la Peña y me apasiona cómo enseñar a los niños a codificar puede revolucionar nuestro modelo educativo actual. Conéctese conmigo en mi sitio web si desea discutir sus puntos de vista sobre esto.

¿Has visto las preguntas relacionadas:
¿Qué idiomas funcionan mejor para enseñar programación a niños de 8 a 9 años?
¿Cuáles son los mejores recursos para que un niño de 10 años se enseñe a sí mismo a programar?
¿Cuál es la mejor manera de llevar a mi hijo de 8 años a la programación de software y hardware? Realmente le gustan las computadoras.
¿Cuál es la mejor manera de introducir a los niños de 11 años a la programación?
¿Cuál es la mejor manera de enseñarle a un adolescente (16 años) a programar?
¿Cuál es la mejor manera de que mi hijo de 14 años comience a programar?
¿Qué pasos debe tomar un niño de 8 a 9 años para aprender Python?
¿Cuáles son los mejores videos para enseñarle a su hijo a programar?
¿Qué es un divertido curso de programación de introducción en línea para un niño de 11 años?
¿Qué es un buen lenguaje de programación para que un niño de 11 años aprenda?
¿Cuál es un buen lenguaje de programación para que un niño de 14 años aprenda?
¿Cuál es la mejor manera para que un niño de siete años aprenda su primer lenguaje de programación?
¿Cuáles son algunos buenos recursos / demostraciones / artículos, etc. que puedo transmitir a mi hermana de 15 años para despertar su interés en la programación?

Elegiría un lenguaje de programación y un marco que coincida con sus intereses, aquí hay varias ideas, pero la mayoría se puede enseñar con la ayuda de los padres:

A primera vista, Alice parece ser la manera perfecta de introducir una programación completamente unitaria:
Alice.org
(Solía ​​gustarme realmente un juego llamado Ceebot en los viejos tiempos, que enseñaba C a través de una misión lunar en 3D como escenario, aunque era comercial)

http://codecademy.com : material básico en JavaScript, gratificante con logros.
http://codeschool.com – Básico, pero sigue siendo una gran alternativa a la academia de códigos y parece más avanzado (no lo he probado)
http://builder.addons.mozilla.org – ¡Muy fácil, muy gratificante, muy útil!

Arduino también puede ser divertido, para una interacción más física, y aunque debe tener en cuenta los tipos de datos, estarán en algún momento de su carrera de programación. Lo mismo es cierto con Android, pero si eso es más tentador para ellos, déjelos probar, también puede crear aplicaciones HTML5 / JavaScript en Android, abriendo la oportunidad de usar lo que aprendió en codeacademy.

Si edita los detalles de la pregunta con lo que concluye después de leer las preguntas o comentar sobre esta, felizmente volveré y editaré esta respuesta 🙂

Al igual que muchas personas aquí, tuve mi primer contacto con BASIC a principios de los años 80. Tengo una carrera no técnica (es decir, que no es de TI), pero esta fue una experiencia formativa que me ha dado repetidamente ventaja sobre las personas que nunca han escrito una línea de código, en gran parte porque puedo hablar con personas técnicas sin ser totalmente despistado o simplemente asustado.

Pero también creo que gran parte del beneficio de tener un poco de exposición de programación es inculcar una forma estructurada de pensar y manejar los datos.

Tal vez fuera de la caja, pero ¿qué pasa con MS Excel ? Capture datos de forma estructurada, realice operaciones matemáticas, lógicas y basadas en texto en ellos, y tome decisiones sobre cómo generarlos. Importar, analizar, procesar, exportar. Si bien no tiene el potencial visual divertido de, por ejemplo, Processing, tiene la ventaja de ser útil para manejar información del mundo real.

Por ejemplo, mi hijo y yo construimos un trebuchet en miniatura (catapulta). Planeo probar la distancia alcanzada usando diferentes contrapesos, registrar los datos en Excel y trazar un gráfico de la relación. Aunque esto es un poco diferente de la vista del mundo basada en texto y código / algoritmo, es un ejercicio fundamental en la estructuración, procesamiento y presentación de datos.

Para reiterar la excelente respuesta de Katy Levinson, creo que la mejor manera de inspirar a los niños a programar es dándoles proyectos que produzcan resultados visibles. Cuando era niño, estaba enamorado de retoques que conducían a nuevos juguetes con los que podía jugar o construir cosas que hicieran cosas. Fue genial ajustar los coeficientes de gravedad del juego Gorilas en QBASIC y ver cómo afectaría el juego. Los LEGO técnicos también fueron geniales por la misma razón.

En el mundo de hoy, recomendaría obtener un Arduino (empresa). Este pequeño dispositivo le permite controlar fácilmente los componentes físicos con código. Pueden experimentar con declaraciones if y ver cómo afecta al mundo físico. Aquí hay un video de alguien que construyó y programó un robot simple:. Desearía tener uno de estos mientras crecía.

Por supuesto, todo esto depende de la personalidad de su hijo, así que YMMV.

¡Hola! Hoy en día puede ser extremadamente difícil alentar a los niños a aprender algunas habilidades nuevas o adquirir conocimientos. Sentarse con un libro y disfrutarlo es fácil, pero debe enseñarse desde los primeros años. Lamentablemente no hay libro para todo.

Las habilidades más deseables, aunque basadas en la educación teórica, se desarrollan mediante la práctica. La programación es un ejemplo perfecto de eso. Cuando también agregamos el hecho de que la industria tecnológica está dominada por generaciones cada vez más jóvenes, comenzar lo antes posible es imprescindible. Y una gran ventaja para un niño, para ser honesto.

Para mí, la respuesta a esa pregunta es obvia: déjelos jugar videojuegos. ¡Incentívalos incluso!

Qué juego podrías preguntar. Mis amigos escribieron un artículo sobre cómo jugar Minecraft puede ser una excelente manera de enseñarles a los niños la base de la codificación mientras les permite divertirse.

Cómo jugar Minecraft puede enseñarle a tu hijo a programar

¡Saludos de Inwedo!

Usamos laby para enseñar programación a niños. Fue un momento emocionante para nosotros fue ver la programación de niños de 12 años en Python. Nuestro récord es poder enseñar el uso de un “for-loop” en Python a un niño de 6 años.

Si bien vemos que los estudiantes de Ingeniería y los profesionales de Software luchan con la sintaxis de los lenguajes de programación a pesar de tener un título en Ciencias de la Computación, pudimos enseñar a estos niños construcciones de programación básicas como bucles y condicionales en menos de 3 horas. Entonces, cuando los profesionales dicen “Python es demasiado difícil”, tomamos represalias diciendo: “No, la sintaxis no es tan difícil. ¡Los niños de 10 años pudieron recogerlo en menos de 3 horas! Puede ser que necesites desaprender “.

Mencioné la mayor parte de nuestra experiencia personal en enseñar a los niños a programar en este blog.

El viaje de Jnaapti: aprender de los niños

La mayor parte de nuestra inspiración se deriva de las sesiones de Sugatamitras.

También debe mirar este proyecto [protegido por correo electrónico] dirigido por el gobierno de kerala. Han estado haciendo un gran trabajo al asimilar la cultura de la programación y llevar la informática básica a las manos de los niños. Fuimos personalmente a Kerala para encontrarnos con un maestro que descubrimos que viajaba por Kerala y Dakshina kannada instalando ed-ubuntu para niños en sus sistemas. Fue un momento de orgullo saber que lo estaba haciendo como un servicio y no cobraba nada.

En ubuntu utilizamos muchas otras herramientas que se adaptan a los niños que aprenden como Scratch,

Numpty física, Gimp, K-Turtle, Learn python de la manera más difícil: reserva y personalmente muchas de las cosas que enseñamos nosotros mismos.

Creemos firmemente que la programación también se trata de conocer el hardware y cómo funcionan los sistemas digitales. Les enseñamos a hacer circuitos básicos usando 555 timer, arduino, Raspberry Pi y mucho más. Les hacemos construir pequeños juegos y los niveles de laby una vez que terminan de jugarlo. Les enseñamos redes haciendo que escriban cartas y ayudándoles a apreciar la dirección IP y cómo funciona el enrutamiento.

He estado enseñando personalmente durante más de 10 años. Es bueno ver que los niños aprenden muy rápido.

Para niños y adolescentes, la Programación Scratch (www.scratch.mit.edu) seguida de la Programación Python funciona muy bien. Python es un lenguaje de programación de alto nivel, ampliamente utilizado y de uso general. La sintaxis de Python permite a los programadores expresar conceptos en menos líneas de código y la sintaxis se parece mucho al idioma inglés. YoungWonks (www.YoungWonks.com) es un excelente lugar para construir sólidos fundamentos de programación de Python y habilidades avanzadas de informática e ingeniería. YoungWonks atrae a estudiantes de todos los rincones del área de la Bahía de San Francisco y más allá. Algunos estudiantes viajan más de 40 millas en cada sentido para asistir a una clase semanal. Las clases también se ofrecen en línea.

En el primer año de participación, los estudiantes de YoungWonks ganaron 2 de los 4 premios principales en la categoría de escuela secundaria de ciencias de la computación en la Feria de Ciencia e Ingeniería del Condado de Alameda. Eso es más premios importantes en esa categoría que cualquier escuela o distrito escolar en el condado.

YoungWonks llevamos años desarrollando un plan de estudios que los niños de la escuela encuentran interesante al mismo tiempo que enseña conceptos de informática a nivel universitario. El programa utiliza en gran medida el desarrollo de juegos basado en Python y los proyectos de robótica basados ​​en IOT (Internet de las cosas) para enseñar habilidades de codificación y electrónica del mundo real. Puede consultar muestras de trabajo en el canal de YouTube de YoungWonks. (Buscar YoungWonks en YouTube).

Las clases de YoungWonks se ofrecen en el lugar de San Francisco Easy Bay. Pronto se abrirá otra ubicación en San Francisco South Bay. YoungWonks también comenzó a ofrecer clases en línea a personas de todo el mundo. Por favor complete la información en: Admisión de clase de codificación (programación de computadoras) para niños y adolescentes. para programar una clase de prueba GRATUITA.

YoungWonks también ofrece un número limitado de becas de matrícula completa para candidatos merecedores capaces de familias de bajos ingresos. Por favor, [correo electrónico protegido] para aplicar.

Como hijo de un maestro y un ingeniero de sistemas, puedo afirmar que estoy genéticamente calificado para responder.

Mi verdadera calificación es que he criado a dos niños hasta la edad adulta e intenté enseñarles algo sobre programación cuando estaban en la escuela primaria / primaria.

Primero, tenga en cuenta que:

  • No todos los niños estarán interesados ​​en la programación. Desea un enfoque que sea de interés para una amplia gama de personalidades. Desea que eliminen algo positivo de la experiencia, incluso si no son el próximo John Carmack. [1]
  • Los niños tienen períodos de atención limitados y pierden rápidamente interés en el material seco. Cuanto más puedas hacer que la programación parezca un juego, mejor. [2]
  • No debes apresurarte con cerebros inmaduros; por ejemplo, a los 11 años, ¡los hombres pueden estar a menos de la mitad de su volumen cerebral máximo! [3] Pero es un buen momento para enseñar porque los niños de 11 años se están acercando al segundo de sus picos en neuroplasticidad.

Teniendo en cuenta todo esto y más, cuando llegue el momento de la “programación práctica”, la experiencia ESENCIAL para niños es “Scratch” del MIT. Ver scratch.mit.edu o ver la reseña en el New York Times. [4]

Una de las fortalezas de Scratch es que combina la enseñanza con el juego en un entorno que es muy creativo y puede acomodar las tonterías. Si la experiencia es divertida, hay más posibilidades de que los niños experimenten con ella cuando están solos o con sus amigos.

Un amigo mío ha producido un trampolín para los niños que superan Scratch pero no están preparados para un idioma adulto. Una característica clave es el soporte móvil. Ver http://www.s2js.com

Notas y fuentes:

  1. John Carmack, de id Software, realizó la programación de una serie de juegos de computadora avanzados, incluidos Doom y Quake.
  2. Estoy totalmente de acuerdo con las otras respuestas que recomiendan establecer una base de lógica y pseudocódigo.
  3. Lenroot, et al, “Dimorfismo sexual de las trayectorias del desarrollo cerebral durante la infancia y la adolescencia”, 2007 http://www.boysadrift.com/2007Gi
  4. Wayner, P., “Programación para niños, sintaxis críptica menos”, New York Times, 9 de noviembre de 2011 http://www.nytimes.com/2011/11/1

Enseñar a los niños a codificar no se trata simplemente de lenguajes de programación. Se trata más bien de enseñarles cómo mejorar sus

  • Habilidades para resolver problemas;
  • Habilidades de manejo del tiempo;
  • Habilidades de uso de la computadora; y
  • Habilidades de comunicación.

Estas habilidades desarrollan aún más el proceso de pensamiento creativo y crítico. Le enseña a uno a ser meticuloso mientras se mantiene en la tarea y maneja primero los problemas importantes.


Enseñar a los niños a programar es equivalente a decir enseñarles a ser mejores solucionadores de problemas, administradores de tiempo y usuarios de computadoras.

  1. La resolución de problemas es una habilidad esencial para poder programar de manera eficiente y efectiva. Uno puede conocer la sintaxis adecuada utilizada en el lenguaje HTML, pero ¿de qué sirve ese conocimiento si uno no sabe cuándo usarlo? Al final del día, si uno no sabe cuál es su objetivo final cuando comienzan a codificar, no llegarán a ninguna parte. Necesitan saber por qué están codificando. Lo que están resolviendo. Solo entonces utilizarán sus conocimientos previos (y con suerte, irán más allá) para desarrollar un plan sobre cómo resolver el problema.
  2. Las habilidades de gestión del tiempo también son un conjunto muy importante de habilidades para poseer al codificar. Para ayudar a los estudiantes a codificar lo mejor que puedan,
  1. enséñeles a tomar notas. A medida que los jóvenes aprenden a codificar, se dan cuenta de que la codificación es muy similar a tomar notas en clase cuando el profesor habla rápido, durante el cual deben tomar notas en apuntes precisos y dejar de lado las ideas vagas y las palabras de relleno con las que solo se pierde el tiempo. Se les enseña a dividir todo en la forma más simple posible, por lo tanto, usar más de su tiempo para lo que realmente importa. En su tiempo libre, pueden resaltar, subrayar y hacer notas adicionales en los márgenes. El concepto de codificación no es diferente. En resumen, enséñeles a los estudiantes cómo tomar notas antes de enseñarles cómo codificar para crear un programa. Te enseña a llegar al “hueso” del problema.
  2. Motívelos a administrar mejor su tiempo. Cada vez que se atascan, su desencadenante debería ser el recordatorio de que aquellos que toman menos tiempo codificando son mejores codificadores. De esa manera, solo querrán hacer la tarea, en lugar de llorar por la vida que Dios eligió para ellos. Eso no significa que uno deba pasar menos tiempo aprendiendo más sobre lo que él / ella ama, sino más bien, usar el tiempo tan efectivamente como pueda. Trata cada hora como la última hora . Eso motivará a tus estudiantes a obtener todo lo que puedas.
  3. muéstreles cómo usar sus habilidades de pensamiento creativo y pensamiento lógico. Aquellos que desean terminar la codificación más rápido son mejores en la codificación, ya que pasan la mayor parte de su tiempo pensando de manera lógica y creativa mientras codifican. Piensan lógicamente escribir en un idioma que la computadora entienda. Toman la información lógica que necesita la computadora y piensan cómo tomar toda esa información y convertirla en algo que de repente tenga sentido . Usan sus habilidades de pensamiento creativo . Apagan el resto del cerebro y los sentidos y se centran solo en una tarea. En general, trabajan de manera más inteligente, no más difícil .
  • No hay duda sobre el hecho de que la codificación le permite a uno mejorar sus habilidades de uso de la computadora . Tal como lo mencioné (varias veces) antes, tener un montón de información en tu cerebro es prácticamente inútil cuando no puedes usarlo. La programación ayuda a los estudiantes a mejorar en el uso de computadoras y otros tipos de tecnología. Sin embargo, es una buena idea crear una presentación de PowerPoint de algún tipo para presentar a los estudiantes los diferentes términos de red que necesitan saber y las diferentes partes de una computadora. Dominan lo que están usando tan bien que un día, son capaces de obtener poder sobre esa pieza de tecnología, y muchas más; suficiente potencia para decirle a la máquina qué hacer, cuándo hacerlo y cómo hacerlo.
  • Este último puede parecer un poco confuso, ya que muchos creen que codificar significa sentarse solo en una habitación tranquila y escribir. Algunos dicen que es el trabajo de los introvertidos. Sin embargo, eso no siempre es cierto. La codificación requiere asumir riesgos, práctica, una mente abierta y curiosidad. Esta curiosidad se alimenta de respuestas . Cuando uno no puede encontrar una respuesta a un problema, él / ella pide ayuda a otros. Aquí es donde entran en juego las habilidades de comunicación . Uno debe ser un comunicador eficaz para poder hacer preguntas precisas y dar respuestas precisas. Antes de enseñar a los niños a codificar, uno debe enseñarles cómo comunicarse con confianza y eficacia con sus compañeros.

  • Con todo, puedes ver que enseñar a los niños a codificar se trata menos de lo que dices y más de lo que hacen . Debe actuar como un disparador para que los estudiantes les brinden el conjunto adecuado de habilidades, conocimientos y motivación para ayudarlos a disfrutar de su experiencia de programación. Estas habilidades no solo se desarrollan perfectamente de la noche a la mañana. Para desarrollar las habilidades que necesitan en la vida, deben ser capaces de codificar y adquirir experiencia . Siempre es un proceso, siempre lleva tiempo.


    Editar: pensé que sería útil incluir algunos sitios web que ayuden a los estudiantes a aprender más sobre los diferentes lenguajes de programación.

    1. Todo niño merece una oportunidad
    2. Aprende a codificar

    ¡Feliz codificación! 🙂

    Cuando tenía entre 7 y 8 años, mi padre me enseñó los conceptos básicos de la lógica booleana. Con analogías muy simples. A partir de ahí, pasó a otros temas abstractos como Diagramas de Venn, razonamiento, etc. Para el 9-10, pude pensar en el pseudocódigo o el algoritmo de cómo hacer algo con un conjunto dado de instrucciones. Fue entonces cuando aprendí BASIC, luego PASCAL y así sucesivamente.
    Lo que aprendí de mi experiencia es que, en lugar de enseñar un idioma , sería mejor si le enseñas los fundamentos. Cómo pensar como un codificador, cómo diseñar buenos programas. Al enseñarle lógica, razonamiento y eventualmente pseudocódigo. Esto puede ser un asunto más largo que enseñarle BASIC o C, pero esto definitivamente ayudaría mucho mejor. Podía pensar agnóstico a cualquier idioma en particular y comprender nuevos idiomas fácilmente. Tendría una aptitud mucho más fuerte para escribir un buen código.

    Gran pregunta Esencialmente tienes que enseñar desde múltiples ángulos:

    • Enseñe programación que los empuje a resolver problemas del mundo real (no solo hello-world)
    • Deconstruir aplicaciones famosas en diagramas simples. O pregunte a los estudiantes cómo lo construyeron desde cero, dejando de lado los detalles. Luego, pídales que construyan uno.
    • Muéstreles cómo la programación está vinculada al hardware. Salte de un lado a otro entre el código, el hardware y el mundo real en toda su clase.
    • Hazlo visual. Use diagramas, flechas, cuadros, círculos, todo lo que pueda para simbolizar lo que está sucediendo.
    • Enseñe UX / diseño junto con la programación.
    • Use fuentes interesantes y editores geniales de código fuente
    • No uses jerga extensa. Mantenlo simple. Introduzca los términos lentamente, mientras se basa en términos recientemente aprendidos.
    • Hazlo interesante lo más rápido posible. No esperes
    • Enseñe las API desde el principio (ya que las API están literalmente “conectadas al mundo real”)
    • Incorpore otros temas en su “clase de programación” para mostrar cuán integrada es la programación en nuestro mundo.
    • ¿Enseñar el procesamiento del lenguaje natural? Enseñe literatura inglesa o lingüística junto con ella.
    • ¿Enseñar CSS? Enseñe diseño junto con él.
    • ¿Enseñar HTML? Enséñelo junto a la historia de la web.
    • ¿Enseñar a Python? Combínalo con algo de ciencia o trabajo financiero.

    La codificación puede ser muy agotadora para aprender todo de una vez. Toda la idea de enseñar “codificación” sin integrarla con el mundo real no funciona. La codificación es parte de nuestras vidas, y debe enseñarse como tal.

    Creo que el mejor método es comenzar con un Arduino, usando luces y altavoces conectados a sensores, ejecutando un código simple. La programación a menudo carece de retroalimentación física, a lo que los niños realmente responden, a menos que esté haciendo incrustado o robótica. Afortunadamente, cosas como Arduino y Raspberry Pi realmente han bajado de precio.

    Soy mediocre en matemáticas, así que no te preocupes por necesitar una base sólida. Muchos lenguajes de programación modernos eliminan la necesidad de comprender las matemáticas complejas. Hay muchas soluciones de programación basadas en matemáticas que se usan comúnmente, por lo que se han estandarizado y se implementan fácilmente. Esto hace que sea más importante comprender las limitaciones de rendimiento de un enfoque dado, en comparación con los detalles de cómo funciona, es decir. una caja negra

    Comience con un Arduino y aumente lentamente hasta crear un robot con sensores, motores, sonidos, etc. Déles un código simple para copiar y pegar, luego aliéntelos a mover las líneas de código, cambiar los valores de las variables y experimentar. Además, intente utilizar diagramas de estado y diagramas UML para explicar de manera abstracta el flujo del sistema.

    Recomiendo encarecidamente el procesamiento (processing.org) como plataforma para aprender a programar para programadores jóvenes. Processing es el nuevo LOGO de esta generación: permite a los programadores jóvenes la capacidad de construir proyectos de programación con impacto visual rápidamente sin comprender las bibliotecas complejas de imágenes / gráficos.

    En unas pocas líneas de código, pueden dibujar objetos, crear juegos simples, animar formas, etc. Esto hace que la programación sea divertida en lugar de la salida de texto estándar habitual que la mayoría de nosotros comenzamos con lenguajes de programación más tradicionales (Pascal, C / C ++, Java, etc)

    Fuera de la caja, también viene con un editor simple que puede configurar el entorno rápidamente. Además, hay muchos libros que utilizan el procesamiento como herramientas de enseñanza para los no programadores, son fáciles de leer y van desde conceptos simples (variables, lógica booleana, condición, alcance) hasta conceptos de programación más complejos como estructuras de datos, matrices , objetos, etc.

    Haz que pasen la primera joroba. Hay videos de YouTube, etc., que puede usar para obtener lo mínimo. Úselos si lo necesita y lleve a su hijo paso a paso a través de cómo hacer la configuración en el idioma que sea. Guíalos, no lo hagas tú mismo, pero tómalos en cada paso del primer paso. Si es HTML, muéstreles cómo abrir el Bloc de notas y escriba algunas etiquetas, guárdelo como un archivo html y luego véalo en un navegador. Si es VB, instálelo y muéstreles cómo ejecutarlo. Luego deles libros y dígales que pueden buscar tutoriales para cualquier cosa que quieran aprender.

    La pieza crucial nuevamente cuando son jóvenes es que pueden llegar a la escalera, por así decirlo. Comencé cuando tenía 10 años. Mi madre (sin experiencia en codificación) me había dado un libro de la biblioteca sobre cómo hacer páginas web. Ya había jugado con el Bloc de notas antes (pensé que en realidad era un diario o algo así), e intenté seguir las instrucciones, pero no explicaba que cuando guardabas el archivo tenía que llamarse .html. Hice clic en el archivo y se abrió en el Bloc de notas. “Bueno, eso apesta”. Pensé, lo intenté de nuevo, lo mismo, así que renuncié.

    Afortunadamente, un par de meses después, me dio un libro diferente diseñado para niños (creo que se llamaba Guía para niños para crear páginas web o algo así). Tenía imágenes claras. Esto era anterior a YouTube, por lo que no había ningún video tutorial. Me llevó paso a paso hacer y ver el archivo. Funcionó y me enganché. Ahora soy un desarrollador de software profesional.

    Así que pídales que superen la joroba inicial o dos, tal vez sugiera algo interesante para hacer. Si no se pega, intente nuevamente en un par de meses o pruebe con un idioma diferente. Si todavía no se pega, tal vez simplemente no están hechos para eso. Traté de enseñar a mis hermanos pero no estaban interesados. A algunas personas les encanta, a otras no les importa, pero en mi opinión, todos deberían tener la oportunidad de decidir cuál son.

    A esta edad, hacer que su hijo se interese en las matemáticas podría ser una ventaja mucho mayor.

    A esta edad, comience con el uso básico de las computadoras.

    1. Cómo usar google para buscar algo de manera efectiva
    2. Cómo usar Microsoft Excel (o cualquier otro programa de hoja de cálculo)
    3. Cómo usar el correo electrónico, gmail, etc.
    4. Introducción al hardware informático. ¿Qué es CPU, RAM?

    Y cuando creas que estás listo, aquí hay algunos recursos que los padres pueden compartir con sus hijos para ayudarlos a comenzar a aprender sobre programación de acuerdo con http://www.edutopia.org/blog/tea

    • Tutoriales de programación de Made With Code de Google: en junio, Google anunció Made With Code, un ambicioso proyecto con el objetivo de alentar a las niñas a seguir carreras en informática. Los proyectos Made With Code son fáciles de seguir, y si sus hijos son completamente nuevos en la codificación, no se preocupe. Hay algo para los codificadores intermedios y principiantes. Además, hay aún más tutoriales en la sección de Recursos, con más por venir.
    • Recursos para padres del equipo Scratch de MIT Media Lab: Scratch es una de las herramientas de codificación más populares para niños, y está diseñado para ayudar a los estudiantes con poca o ninguna experiencia en codificación a sumergirse de lleno en la programación. Esencialmente, el software permite a los estudiantes crear animaciones e historias con bloques de construcción que imitan la estructura del código de la computadora. Afortunadamente, el equipo detrás del software lo ha facilitado para los principiantes. Hay una maravillosa guía para principiantes basada en la web que ayudará a los estudiantes a comenzar, o puede descargar una versión en PDF.
    • Cómo y por qué enseñar a sus hijos a codificar: en este blog de Lifehacker, la autora Melanie Pinola ofrece una lista completa de varias herramientas gratuitas y de bajo costo que los padres pueden usar para enseñarles a sus hijos sobre el código. Todas las herramientas están organizadas por grupo de edad, con secciones para los estudiantes más jóvenes hasta los de la escuela secundaria.
    • Lecciones y tutoriales de Code.org: Code.org se lanzó en 2013 para abogar por un acceso más amplio al aprendizaje de la informática en las escuelas y para estudiantes de color con poca representación. Además de sus esfuerzos de promoción, Code.org ha publicado varias lecciones útiles que son excelentes para compartir con sus hijos. Además de lecciones populares como Introducción a la informática de K-8, hay enlaces a tutoriales informativos de una variedad de fuentes.
    • Las mejores aplicaciones y sitios web para la programación y codificación de aprendizaje: este recurso de Common Sense Media, presentado en su plataforma Graphite, proporciona revisiones perspicaces de herramientas de programación populares. Todas las revisiones en el sitio son realizadas por maestros y se basan en la facilidad de uso, la calidad y el compromiso, entre otros.
    • Guía de EdSurge: Enseñar a los niños a codificar: EdSurge produjo esta guía completa para padres. Es un tesoro de artículos interesantes y útiles como “Enseñanza de la codificación: ¿por dónde empezar?” y la guía también presenta información de más de 50 herramientas que puede usar con sus hijos.

    Artículos inspiradores sobre niños aprendiendo a codificar

    ¿Sigues buscando algunas ideas? Aquí hay algunas fuentes más para aprender sobre los beneficios de aprender habilidades de codificación y ayudar a sus hijos a comenzar a programar.

    • “Enseñando a los niños a programar mientras aprenden cómo ustedes mismos”, de Sean Gillhooley a través de My Kids Guide
    • “¿Debo enseñarle a mi hijo a codificar?” por Nicole LaPorte vía Fast Company
    • “Enseñanza de programación para niños con Khan Academy”, de Patrick Reagan a través de Viget
    • “Programación a través del juego: por qué enseñar a los niños a codificar cambiará la forma en que el resto de nosotros codifica”, por Raj Sidhu a través de The Next Web
    • “7 beneficios para toda la vida de enseñar juegos de codificación a sus hijos”, por Paul Tufts a través de LearntoCode.biz

    Smalltalk es un excelente idioma para los niños, dependiendo de la edad que tengan. Puede comenzarlos en Smalltalk a partir de los 10 años.

    (Conozco a una niña de 10 años que comenzó con Java. ¡Java! Incluso Java me intimida un poco).

    Menor de 10 años y sugeriría Scratch del MIT.

    Smalltalk fue diseñado para enseñar programación a jóvenes. Hoy en día, hay pocos otros idiomas diseñados para la enseñanza (solo se me ocurre el logotipo y el esquema). Smalltalk es la mejor manera de aprender sobre programación orientada a objetos , el estilo de programación más utilizado en el planeta. Por eso creo que es una mejor opción que Logo o Scheme.

    Smalltalk es un lenguaje sumamente simple y fácil de aprender. ¡Su sintaxis se puede resumir en el reverso de una postal!

    Aquí hay algunos recursos excelentes:

    • un tutorial agradable y amable: aprenda Smalltalk con el profesor Stef
    • Smalltalk más activamente desarrollado – ¡Bienvenido a Pharo!
    • un libro gratis – Pharo actualizado por ejemplo
    • a MOOC (curso masivo abierto en línea) – Programación de objetos en vivo en Pharo
    • algunos videos geniales – Smalltalk 4 You
    • un libro que me gusta (no basado en Pharo) – Smalltalk by Example
    • otro libro que me gusta (no basado en Pharo) – Programación de computadoras usando GNU Smalltalk
    • algunos recursos adicionales – Recursos

    Este libro (no gratuito) es mi favorito para aprender a usar Smalltalk para la programación orientada a objetos: Smalltalk, Objects, and Design, de Chamond Liu.

    Yo mismo he publicado un montón de tutoriales Smalltalk. Los últimos son:

    • Aprenda a programar
    • Tetera: la programación web es fácil

    Gran pregunta! La programación es cada vez más frecuente en las escuelas y, como resultado, existe una creciente demanda de educadores independientes y en el aula que tengan la habilidad de enseñar los fundamentos. Aunque encontrará una gran cantidad de recursos en línea, aquí están mis recomendaciones personales de TOP THREE. Están diseñados para diferentes necesidades y grupos de edad, así que asegúrese de evaluar siempre el estilo de aprendizaje personal y las metas de su hijo para elegir el programa perfecto.

    1. Scratch

    Scratch es un recurso completamente gratuito creado por expertos del MIT para niños de 8 a 16 años. Me encanta Scratch porque aprovecha la creatividad natural del niño para fomentar la resolución de problemas y la colaboración.

    2. CodeMonkey

    CodeMonkey es un recurso de programación diseñado específicamente para estudiantes de cuarto a duodécimo grado y utiliza instrucciones de codificación basadas en texto en lugar de la plantilla más común de “arrastrar y soltar”.

    3. Tynker

    Al igual que Scratch, Tynker utiliza animación e imágenes relacionables para ayudar a los principiantes jóvenes con la programación. Es autodidacta y eventualmente conduce a lecciones sobre Python y Javascript sin sentirse complicado o abrumador.

    Más detalles sobre estos recursos y algunos más, consulte: Enseñar a los niños a codificar: cinco recursos útiles para tutores

    Si necesita más información o tiene preguntas adicionales, déjeme un comentario o comuníquese con [correo electrónico protegido] .

    Hola, soy consultora curricular para muchas organizaciones de alto perfil como Girls Who Code. He estado enseñando en cierta capacidad durante 8 años. Mi sugerencia sería usar la aplicación para iPad Rayuela. Es un lenguaje de programación visual similar al scratch, pero el entorno está en el iPad, por lo que las creaciones funcionan en el iPad.

    ¿Por qué rayuela vs arañazos?
    1. Rayuela ha incorporado personajes divertidos y caprichosos. Los estudiantes que aprenden a codificar a menudo se atascan en detalles como algo que parece perfecto. Los personajes son caprichosos y hacen que los programas que escriben se vean muy profesionales, lo que es especialmente satisfactorio para las niñas pequeñas.

    2. La interfaz de Hopscotch es más fácil de usar.

    3. Los programas de rayuela se ejecutan en el iPad, los estudiantes que son demasiado jóvenes para comprender que el código escrito desde cero puede aplicarse, conceptualmente, a otros dispositivos que podrían no “creer” que están codificando. Este es un problema común en la introducción a CS. Cuando el trabajo de un joven estudiante se ejecuta en el iPad, trae un nivel de satisfacción y contexto que no tiene scratch.

    Me encanta Scratch, sin embargo, si estaba mirando a chicas jóvenes, tengo que ponerme del lado de Hopscotch, ya que fue construido para ese propósito específico.