Como ense√Ī√©, y luego escrib√≠ un manual de entrenamiento en Python

imagen

Todo el a√Īo pasado trabaj√© como profesor en uno de los centros de capacitaci√≥n provinciales (en adelante, la UC), especializ√°ndome en programaci√≥n de ense√Īanza. No nombrar√© este centro de capacitaci√≥n, solo tratar√© de prescindir de los nombres de compa√Ī√≠as, nombres de autores, etc.

Entonces, trabajé como profesor en Python y en Java. Este centro de capacitación compró materiales metodológicos para Java, y comenzaron Python cuando vine y les ofrecí esto.

Escrib√≠ un manual de capacitaci√≥n para estudiantes (esencialmente un libro de texto o un manual de autoinstrucci√≥n) en Python, pero la ense√Īanza de Java y los materiales de ense√Īanza que se usaron all√≠ tuvieron un peque√Īo impacto.

Decir que fueron terribles es no decir nada. El modus del libro de texto de Java, que es suministrado por una empresa muy conocida en Rusia, no era ense√Īarle a una persona los conceptos b√°sicos de este lenguaje en general y el paradigma de OOP en particular, sino permitir que los padres que vinieron a abrir lecciones vean c√≥mo hijo o hija cancel√≥ una serpiente o ajedrez de un libro de texto. ¬ŅPor qu√© digo desmantelado? Muy simple, el hecho es que el libro de texto conten√≠a hojas enteras (A4) de c√≥digo, algunos de los cuales no se explicaron. Como resultado, el maestro debe controlar en qu√© punto del c√≥digo se encuentra ahora cada alumno, explicando cada l√≠nea, o todo se desliza hacia la trampa.

Dir√°s: "Bueno, ¬Ņqu√© pasa, deja que el maestro trabaje mejor, pero el ajedrez y la serpiente son realmente buenos!"

Bueno, todo ser√≠a genial si el n√ļmero de personas en el grupo no fuera menor de 15 a√Īos, y eso ya es significativo, si vas a seguir a todos, explicando: "Pero a√ļn as√≠, ¬Ņqu√© estamos escribiendo?"

Adem√°s del n√ļmero de personas en el grupo, hay otro problema asociado con este manual. El c√≥digo est√° escrito ... c√≥mo dec√≠rtelo, simplemente horrible. Un conjunto de antipatterns, arcaicos, ya que el libro de texto no se ha actualizado durante mucho tiempo, y nuestro favorito, por supuesto, es el estilo de la gu√≠a. Por lo tanto, incluso si controla todos sus cargos y puede explicarles de manera r√°pida e inteligible lo que est√° escrito el c√≥digo, el c√≥digo en s√≠ es tan terrible que ense√Īar√°, por decirlo suavemente, no eso.

Bueno, y el final, literalmente destruyendo este libro de texto, desde el principio no hay al menos una introducción adecuada que explique qué tipos de datos son, que son objetos y primitivos, qué criterio verifica la propiedad que genera esta dicotomía, etc. En el primer capítulo, usted y sus alumnos están invitados a hacer (cancelar) un programa que crea una ventana y escribe "¡Hola!", Pero no explica qué significa realmente esta hoja de códigos, solo enlaces a otras clases, por ejemplo, "main "- el punto de entrada, pero el concepto mismo de" punto de entrada "ni siquiera se pronuncia.

Para resumir, este papel usado fue un meme incluso entre educadores y l√≠deres. Ella no les ense√Ī√≥ nada a los ni√Īos, una vez que me encontr√© con un grupo estudiando durante un a√Īo sobre estos materiales, como resultado ni siquiera pod√≠an escribir un ciclo, not√© que todos eran muy inteligentes y pronto todo no fue tan malo. La mayor√≠a de los colegas trataron de desviarse de los materiales de ense√Īanza para que el material se asimilara, y no solo para volar en el aire, aunque hubo personas menos conscientes que consideraron normal que su estudiante descartara sin ninguna explicaci√≥n.

Cuando qued√≥ claro que dejar√≠a la CA, y el programa Python deb√≠a continuar de alguna manera el pr√≥ximo a√Īo, comenc√© a escribir mi libro de texto. En resumen, lo divid√≠ en dos partes, en la primera expliqu√© todo sobre los tipos de datos, su esencia, las operaciones con ellos y las instrucciones del idioma. Mientras tanto, hizo QnA para que el futuro maestro pudiera entender c√≥mo el alumno aprendi√≥ el tema. Bueno, al final hice una peque√Īa tarea de proyecto. La primera parte explica los conceptos b√°sicos del lenguaje y los mastica, que son aproximadamente 12-13 lecciones de 30-40 minutos. En la segunda parte, ya escrib√≠ sobre OOP, describ√≠ c√≥mo la implementaci√≥n de este paradigma en Python difiere de la mayor√≠a de los dem√°s, hice muchas referencias a la gu√≠a de estilo, etc. Para resumir: intent√© ser lo m√°s diferente posible de lo que hab√≠a en el tutorial de Java. Hace poco escrib√≠ a un maestro actual de Python, solicit√© un comentario sobre los materiales, y ahora me alegra que todo est√© bien, que los ni√Īos realmente entiendan la programaci√≥n de Python.

¬ŅQu√© conclusi√≥n me gustar√≠a sacar de esta historia: mis queridos padres, si deciden enviar a su hijo a un centro de ense√Īanza, observen cuidadosamente lo que est√°n haciendo para que su hijo no pierda el tiempo en vano para que no lo desanime de programar en el futuro.

UPD: Como se se√Īal√≥ correctamente en el comentario, no dije casi nada sobre la presentaci√≥n del material. Dir√© de inmediato que creo que deber√≠a haber m√°s pr√°ctica, tanto como sea posible. Al final de cada lecci√≥n en la primera parte, hice 4-5 peque√Īas tareas pr√°cticas sobre el tema del cap√≠tulo. Entre los cap√≠tulos estaban QnA (lecciones de control), donde tambi√©n hab√≠a tareas pr√°cticas, pero ya evaluadas, tambi√©n al final de la primera parte hab√≠a un proyecto con un tema para elegir entre los propuestos. En la segunda parte, hice una introducci√≥n a OOP a trav√©s de la creaci√≥n de un mini-juego de consola, cuyo desarrollo fue la segunda parte completa y la introducci√≥n completa al paradigma.

Source: https://habr.com/ru/post/486156/


All Articles