Cómo enseñé y luego escribí el manual de Python

Cómo enseñé y luego escribí el manual de Python
Durante todo el año pasado trabajé como profesor en uno de los centros educativos provinciales (en adelante, CE), especializado en la enseñanza de programación. No nombraré este centro, al igual que intentaré evitar mencionar empresas, nombres de autores, etc.

Así que trabajé como profesor de Python y de Java. Este CE compró materiales metodológicos para Java, y lanzaron Python cuando llegué yo y se lo propuse.

El material metodológico para los estudiantes (prácticamente un libro de texto o un manual) lo escribí sobre Python, pero la enseñanza de Java y los materiales metodológicos que se utilizaban allí tuvieron cierta influencia.

Decir que eran horribles sería un eufemismo. El enfoque del libro de Java, que es suministrado por una empresa muy conocida en Rusia, no estaba destinado a enseñar las bases de este lenguaje en general y la paradigma de POO en particular, sino a que los padres, que asistían a las clases abiertas, vieran cómo sus hijos copiaban la serpiente o el ajedrez del libro. ¿Por qué digo que copiaban? Muy sencillo, el libro presentaba hojas enteras (A4) de código, algunos aspectos del cual no se explicaban. Al final, el profesor debía controlar en qué parte del código se encontraba cada estudiante, explicando cada línea, o todo se reducirá a copiar.

Ustedes dirán: «¿Y qué hay de malo? Que el profesor trabaje mejor, y la serpiente y el ajedrez en realidad son geniales!»

Bueno, todo sería genial si el número de personas en el grupo no fuera de cerca de 15, lo cual ya es considerable, especialmente si planeas prestar atención a todos explicando: «¿Y qué es lo que estamos escribiendo?»

Además de la cantidad de personas en el grupo, hay otro problema relacionado con este material metodológico. El código está escrito... ¿cómo diría? simplemente horrible. Un conjunto de antipatrón, arcaísmos, ya que el libro no se ha actualizado en mucho tiempo, y, por supuesto, nuestro favorito, las guías de estilo. Por lo tanto, incluso si logras controlar a todos tus alumnos y puedes explicarles de manera rápida y clara qué significa el código copiado, el código en sí es tan horrible que, a decir verdad, no enseña lo que debería.

Y así llegamos al final, que arruina literalmente este libro: desde el principio, falta una introducción adecuada que explique qué son los tipos de datos, que existen tipos de datos objeto y primitivos, qué criterio verifica la propiedad que origina esta dicotomía, etc. En el primer capítulo, se les propone a usted y a sus alumnos crear (copiar) un programa que abre una ventana y escribe '¡Hola!', sin embargo, no se explica qué significa realmente este fragmento de código, solo se hacen referencias a clases futuras, como 'main', el punto de entrada, pero ni siquiera se menciona el concepto de 'punto de entrada'.

En resumen, este material fue un meme incluso entre los pedagogos y la dirección. No enseñó a los niños en absoluto; en una ocasión, me encontré con un grupo que estudiaba ya desde hace un año con estos materiales, y al final no podían ni siquiera escribir un bucle, y debo mencionar que todos ellos eran muy inteligentes y pronto las cosas ya no serían tan malas. La mayoría de mis colegas trataban de distanciarse del material didáctico para que los estudiantes asimilaran el contenido y no simplemente se dispersara en el aire, aunque había algunas personas menos concienzudas que consideraban normal que sus alumnos copiaran sin ninguna explicación.

Cuando se hizo evidente que abandonaría el centro de formación, pero que debía continuar el curso de Python de alguna manera el próximo año, comencé a escribir mi propio libro de texto. En resumen, lo dividí en dos partes; en la primera explicaba todo sobre los tipos de datos, su esencia, las operaciones con ellos y las instrucciones del lenguaje. Entre los temas, hacía preguntas y respuestas para que el futuro profesor pudiera comprender cómo el alumno había asimilado el tema. Al final, incluí un pequeño proyecto. La primera parte así explica las bases del lenguaje y las desmenuza, lo que representa aproximadamente 12-13 lecciones de 30-40 minutos. En la segunda parte, ya escribí sobre la POO, describí cómo la implementación de este paradigma en Python difiere de la mayoría de los demás, y hice muchas referencias a la guía de estilo, etc. En resumen, traté de no parecerme en nada a lo que había en el libro de Java. Recientemente escribí al actual profesor de Python, pregunté por sus comentarios sobre los materiales y ahora me alegra saber que todo va bien, que los niños realmente entienden la programación en Python.

¿Qué conclusión me gustaría sacar de esta historia? Queridos padres, si deciden enviar a su hijo a un centro de formación, presten atención a lo que hacen, para que su pequeño no pierda el tiempo en vano y en el futuro no pierda el deseo de programar.

UPD: Como bien señalaron en los comentarios, casi no hablé sobre la presentación del material. Les diré de inmediato que creo que debe haber más práctica, cuanto más, mejor. Al final de cada clase en la primera parte, hacía de 4 a 5 pequeñas tareas prácticas sobre el tema del capítulo. Entre capítulos había sesiones de preguntas y respuestas (lecciones de control), donde también había tareas prácticas, pero ya evaluadas. Además, al final de la primera parte había un proyecto con un tema a elegir de los propuestos. En la segunda parte, hice una introducción a la programación orientada a objetos creando un mini-juego de consola, cuyo desarrollo fue toda la segunda parte y toda la introducción a la paradigma.

Solo los usuarios registrados pueden participar en la encuesta. Inicie sesión, por favor.

¿Está su hijo aprendiendo a programar en un centro educativo?

  • 4,6%Sí3

  • 95,4%No62

65 usuarios votaron. 27 usuarios se abstuvieron.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster