¿Hay vida después de Scratch, o cómo presentar a un niño a Python?

En EPAM tenemos una escuela de programación para los hijos de los empleados: e-kids. En la escuela, los empleados voluntarios enseñan a los niños a trabajar con Scratch, un entorno de programación visual diseñado específicamente para enseñar a niños y adolescentes. Pero siempre, tarde o temprano, llega el momento en que Scratch ya no es interesante para los niños.

A través de prueba y error, nuestros maestros lograron encontrar una manera de desarrollar aún más a los niños, qué enseñar, para que no pierdan interés en la programación debido a tareas demasiado complicadas. Entonces, en e-kids comenzó a enseñar un lenguaje de programación más complejo: Python. En este artículo, reuní información útil de colegas que enseñan en la escuela sobre cómo presentar a los niños a Python.



Scratch es un entorno de programación visual, no es necesario ingresar el código manualmente, puede obtener rápidamente el resultado, los niños pueden ver de inmediato cómo cambia el proyecto después de agregar un nuevo bloque. Con Scratch, no tiene que perder tiempo buscando letras en el teclado, también elimina la dolorosa búsqueda de errores de sintaxis en el proyecto.

Pero cuando el niño ya ha aprendido lo suficiente sobre Scratch, comienza a perder interés en el trabajo. Las tareas comienzan a repetirse, Scratch no puede sorprender a nadie con nada nuevo, lo que significa que es hora de pensar en pasar de Scratch a algún lenguaje de programación, donde puede comenzar a escribir código.

Al elegir un idioma, debe prestar atención no solo a la experiencia de los niños, sino también a su edad. Según la experiencia de los maestros de e-kids, la edad mínima para que los niños les ofrezcan escribir código es de 11 a 12 años.

Preparación de entrenamiento


Por que python
Python tiene una sintaxis simple y una gran comunidad. Si el niño tiene dificultades con la decisión, puede encontrar fácilmente la respuesta en Internet. Y también hay muchas fuentes externas, tareas, recursos que se pueden utilizar para estudios independientes.

Programas de ayuda


Para la preparación de lecciones o tareas, a veces se usaban servicios especiales.

  • Code.org : el servicio contiene tareas listas para usar y una descripción de cómo resolverlas. Estas tareas pueden clasificarse por operadores, bucles, funciones, etc.
  • CodeCademy , Python, . .
  • Code Combat — , RPG , . Python, , . , Scratch Python .
  • Kahoot : este servicio se destacará un poco del resto, ya que no tiene nada que ver con Python, pero es un servicio maravilloso para recordar lo que sucedió en la última lección. Kahoot se puede usar al comienzo de cada lección para que los niños recuerden las palabras clave, los enfoques y las tecnologías de las que hablaron anteriormente. Le permite crear una lista de preguntas y opciones de respuesta. Además, hay una aplicación móvil que se conecta al cuestionario, para que los niños puedan responder desde los teléfonos.

Todos están en inglés, pero de forma gratuita.

Libros de ayuda


De toda la variedad de libros, los maestros de e-kids recomiendan estos:

  • Python para niños: Programador autodidacta , Briggs Jason.
  • Programación en Python para niños , Louis Stowell.

Ambos libros están escritos en un idioma que es comprensible para los niños. Además, contienen tareas muy interesantes.

¿Es necesario o no un entorno de desarrollo integrado (IDE)?
IDE , , , , Python. , , PyCharm 2018.2.4 (Community Edition) — IDE.

Consola vs Gráficos


Todos están acostumbrados a "Hola, mundo", generalmente escribiendo en la consola, pero cuando los niños ven la consola, inmediatamente se desaniman.



Por lo tanto, es mejor usar bibliotecas como Turtle y Tkinter. Ambos son parte de la distribución estándar de Python y no requieren instalación adicional. Será más fácil para los niños cambiar a Python a través de estas bibliotecas, porque muchos métodos repiten bloques en Scratch.



La tortuga es fácil de personalizar: el fondo se puede reemplazar con una imagen de la habitación y la tortuga con otro personaje.



La biblioteca Tkinter, a su vez, le permite escribir aplicaciones de ventana; ya contiene muchas primitivas con botones, interruptores, banderas, menús, etc. Entonces, combinando Turtle y Tkinter, ya puedes escribir un juego simple.

Cómo escribir un juego en Python


Déjame mostrarte un ejemplo de cómo los niños se familiarizaron con Python en las lecciones de e-kids.

  1. Primero, los niños fueron introducidos en Code Combat. Aquí el personaje puede caminar en el mapa, recoger cristales, esquivar enemigos con la ayuda de un código. Este es un juego simple, pero los niños ya escribieron códigos, y lo más importante, pudieron ver de inmediato lo que afectó.
  2. Luego presentaron a los niños a la "tortuga". Le enseñaron a caminar, escribir y pintar diferentes fractales.
  3. Después de lo cual intentamos convertir los bloques Scratch en código Python.

Por ejemplo, el gato Scratch fue descrito por la función addHero con una imagen, que se pasó como argumento a esta función.



En otro bloque, los niños describieron una función en la que nuestro héroe era una discusión, indicaron que debía decir cuánto tiempo y de qué color sería la inscripción.

Por lo tanto, combinando estos bloques, los niños ya podrían escribir un juego similar a los que desarrollaron en Scratch. Algunos de los bloques ya están en la biblioteca Turtle, algunos se agregaron por su cuenta.

Algo así como el código que escribieron los niños: hay una imagen de fondo, un héroe, frases que habla y basura que el personaje podría recoger.



En un bloque separado, describimos la lógica: el personaje recolecta basura, si está cerca de la basura, dice algún tipo de frase. Esto es muy similar a cómo se describe la lógica de caracteres en Scratch. Allí, también puede abrir el personaje y agregar algunos bloques de comportamiento, después de lo cual el personaje cobró vida.



En las lecciones, los niños reciben una variedad de tareas, tanto el desarrollo del juego como la corrección de errores. Por ejemplo, puede mezclar los bloques, luego el programa deja de funcionar y les da a los niños la tarea de encontrar lo que está mal, en qué orden deben ir los bloques.

La ruta de prueba y error


Algunas personas eligen JavaScript o Java en lugar de Python. En uno de los cursos de e-kids, los maestros decidieron intentar besarse con Flask, un marco para crear aplicaciones web en Python, pero esta idea fracasó. Las tareas eran demasiado ambiciosas: mostrar cómo crear un sitio web con un blog, galería y libro de visitas. Aunque la estructura de todos estos componentes era similar, parecería que los niños podrían cambiar algo en el blog y hacer una galería, por ejemplo. Pero los maestros enfrentaron muchos problemas:

  • Descubrimos que es difícil para los niños explicar qué marcos son en principio. Además, resultó ser difícil de explicar incluso para algunos adultos.
  • Los niños tuvieron que trabajar con una gran cantidad de archivos, como resultado no sabían dónde insertar qué.
  • Alta barrera de entrada. Para explicar cómo construir una aplicación web de este tipo, los niños tenían que conocer una gran cantidad de tecnologías, incluido el trabajo con bases de datos.


A pesar de que la edad promedio de los participantes era de 14-15 años, y que ya tenían experiencia con Python, casi la mitad de los miembros del grupo perdieron interés en las clases de Flask, los niños no mostraron actividad, simplemente reescribieron lo que se les dio y no se sumergieron en tema.
Pero no se puede decir que fue un completo fracaso, fue una experiencia gratificante.

Conclusión


La tecnología se está convirtiendo en una parte importante de nuestras vidas. El código es el lenguaje de nuestro mundo, que combina matemáticas, lógica y algoritmos y enseña una nueva visión del mundo.

La programación enseña cómo resolver grandes problemas, desglosándolos en una secuencia de problemas más pequeños y manejables. Esperamos que nuestras clases ayuden a los niños a resolver problemas de manera más eficiente y a pensar globalmente.

El programa e-kids se está desarrollando en Rusia, Ucrania, Bielorrusia y Kazajstán. En 2019, 203 estudiantes, hijos de empleados, recibieron capacitación en Rusia. Además, desde septiembre de 2019, comenzamos a tratar con niños de orfanatos y discapacitados. Más de 80 empleados se ofrecieron como voluntarios para el programa.

Por varias razones, los empleados se convierten en voluntarios: muchos de ellos tienen hijos, y los padres de desarrollo quieren mostrarles TI por otro lado o llenar los vacíos en la educación escolar, y a alguien simplemente le gusta el proceso de aprendizaje.

All Articles