La base de cualquier programación sobre... rompecabezas

¡Saludos, residentes de Khabrovsk!

En este artículo quiero hablar sobre mi experiencia como profesora de programación en C++ en una universidad técnica. Fue una experiencia única en la vida que me enseñó mucho. Cuando se trata de datos interesantes de tu pasado personal, este pasaje de la vida es uno de los primeros que te vienen a la mente.
Vamos.

Primero, un poco sobre mi.
En 2016 me gradué del instituto con honores con la licenciatura en Seguridad de la Información de Sistemas Automatizados. Durante mis estudios, en repetidas ocasiones pude desarrollar mi potencial escribiendo artículos científicos y participando en concursos y becas. En 2015, tuve la oportunidad de convertirme en el ganador del concurso de toda Rusia para jóvenes científicos “UMNIK”. En 2016, antes de finalizar sus estudios, ya trabajaba en una gran organización de la ciudad como “Especialista en seguridad de la información, criptografía y cifrado”.
En resumen, algo como esto. Puedes imaginar que todavía tenía una idea sobre programación.

Y aquí está 2017. Estudios de posgrado. Me pidieron que enseñara C++ en una universidad durante un semestre, por lo que me prometieron buenas bonificaciones para aliviar la carga de un estudiante de posgrado y nada más.

Para ser honesto, estaba sinceramente interesado en probarme en este credo.

primer par
Septiembre. Primera semana de clases. Los estudiantes vinieron a mí. “El grupo más travieso”, así los llamaban.
23 personas. "Programadores".

Como era de esperar, primero me presenté. Discretamente les conté el contenido de la parte “Primero, un poco sobre mí”...
Entonces empezó lo terrible. A la pregunta "¿Qué puedes hacer?" los estudiantes (los llamaremos así de ahora en adelante) respondieron que podían hacer poco más que nada (bueno, esto significaba que algunos de ellos sabían cómo era MS VS y podían crear un proyecto de “Hola mundo”). .. Programadores. Último curso…

Además, explicaron detalladamente, “en colores”, que no les habían enseñado nada y que en general estaban decepcionados con la programación...

Casi todos los días hasta mi próxima clase fueron así:
La base de cualquier programación sobre... rompecabezas

... pero el día anterior surgió la idea de poner esfuerzos en corregir la situación actual en la mente y la conciencia de estos jóvenes. Y luego "Ostap se dejó llevar".

Introducción a la programación
Para la siguiente lección traje... un rompecabezas.
Sí Sí. Rompecabezas. "Cómo entrenar a tu dragón." Las reglas eran simples. El grupo se dividió en 3 equipos. Cada equipo armó su parte. Algunos son el bosque, otros son la tierra y otros son el dragón en el centro de la imagen. Mientras toda la pareja armaba el rompecabezas, les dije que armar un rompecabezas también es programarque los programadores suelen utilizar código ajeno, que cada proyecto tiene varios equipos, funcionalidades, módulos diferentes…
Poco a poco, los estudiantes más aletargados se fueron sumando al proceso.
Cuando terminé de inculcar la idea de la programación en conceptos, procesos y... acertijos de negocio, llegó el momento de establecer las reglas de la formación.
Para cada lección, cada estudiante tuvo que escribir 10 términos de TI en un cuaderno. Cualquier. Cada uno tiene el suyo. El caso es que tomé el cuaderno de un estudiante y encontré entre todos los términos aplicado al máximo y le preguntó a otro estudiante sobre ellos. Cuando otro estudiante dice “no escribí ese término”, no hubo penalización (por sentido común), pero ese estudiante tuvo que anotar los términos “faltantes” (como todos los demás que no los tenían) y encontrar sus significados en la siguiente ocupación.

Eso es lo que hicimos. Cada lección comenzaba con una alegre aleatoriedad en relación con dos o tres estudiantes. Los muchachos estaban entusiasmados con este proceso.

Temas de lección
Al iniciar la formación, es muy importante proporcionar a los estudiantes buena literatura. En mi opinión, el libro ideal era:
La base de cualquier programación sobre... rompecabezas

En un momento tuve que leerlo sigilosamente mientras abrazaba Microsoft Visual Studio. Luego pude entender la programación casi desde cero. Opción perfecta.

Te acercas modestamente a los estudiantes y les dices: "Para convertirte en programadores, solo necesitas leer y probar todo lo que hay en este libro", y arrojas el libro sobre la mesa. Lo principal es no confundir los libros en tu mochila...

Antes de cada tema, ciertamente tuve que prepararme a fondo. Leí el mismo Laforet y varias otras fuentes interesantes de Internet.
La explicación fue casi desde cero. Además, era necesario comprender dónde se cortaban deductivamente los conocimientos básicos de los estudiantes.
Matrices -> Trabajar con memoria (constructores) -> Enlaces -> Cómo funciona la memoria -> Unidades -> ¿Qué es una unidad física -> Representación binaria de datos...
La base de cualquier programación sobre... rompecabezas

Una prueba de choque muy sólida de conocimiento de hechos fundamentales sobre programación. ¡Ya no soy programador, soy historiador!

Y así, significa que se están produciendo batallas históricas para varias parejas seguidas. Un día, un secretario del departamento se asoma a nuestra oficina y, al ver al grupo, abre mucho los ojos, mira y cierra la puerta. Como me dijeron más tarde, ella estaba sorprendida de que ESTE grupo se sentara tan silenciosamente y me escuchara con tanta atención... Eh, tranquilo.

trabajos de laboratorio
La primera información aplicada son los primeros “laboratorios”. En total, el grupo aprobó 10 trabajos de laboratorio durante el semestre. Al principio hicieron la consola más sencilla. a + b, y en este último escribieron, aunque basadas en consola, pero aplicaciones bastante interesantes, como calcular el valor de la integral de alguna función dada arbitrariamente utilizando uno de tres métodos (aproximadamente las mismas tareas estaban en la certificación final) trabajo del curso.

Ese es solo el enfoque de aceptación. no era familiar. Durante mis estudios en el instituto me enfrenté al hecho de que ser inteligente y poder aprobar informes no son lo mismo. Esto no me convenía en absoluto.

- Chicos, estaba pensando. Construyamos una relación “conceptual”. Si alguno de ustedes piensa que no necesita programación, la puerta está ahí. Te enseño gratis. Sólo quiero ver aquí a entusiastas curiosos, solidarios y solidarios. “Les pido a todos los demás que no hagan perder el tiempo a todos”, dije el primer día de trabajo en el laboratorio. Después de esto, 5 personas inmediatamente dejaron de asistir a clases. Esto era lógico y esperado. Se podía intentar hacer algo inteligible con el resto.

- ... No me interesa ver a alguien hacer tu trabajo sólo para aprobarlo. Puede que no seáis programadores, pero seréis personas en mis clases. tener que.

Se veía así:

case отличник

Un estudiante se sienta conmigo para entregar su trabajo.
- ¿Lo hiciste tu mismo?
- Sí.
- ¿Qué es esto?
- *responde correctamente*.
*Pregunto por un par de puntos más. Responde correctamente*
- aceptado. Excelente.

case болтун

- ¿Lo hiciste tu mismo?
- Sí.
- ¿Qué es esto?
- *contesta incorrectamente/no contesta*.
*Pregunto por un par de puntos más. Mismo resultado*
- No aceptada. FALLIDO Estoy esperando la repetición.

case хорошист

- ¿Lo hiciste tu mismo?
- Sí.
- ¿Qué es esto?
- *responde correctamente, pero no con seguridad, nada*.
*Pregunto por un par de puntos más. Mismo resultado*
- aceptado. Bien.

case ровныйТроечник

- ¿Lo hiciste tu mismo?
- No.
Por que
- Difícil. Él me ayudó... *honestamente nombra a un excelente estudiante del grupo*
- ¿Entendiste?
- Sí, entendí casi todo.

- ¿Qué es esto?
- *responde correctamente*.
*Pregunto por un par de puntos más. Responde más o menos correctamente, a veces completamente equivocado, incluso si es 50/50 correcto e incorrecto*
- aceptado. Bien.

No tiene sentido describir todos los demás casos. Sí, un “buen estudiante” puede estar insatisfecho de que un estudiante “C” reciba la misma calificación, basándose en su honestidad. Entonces todo depende del estado de ánimo. O le pido al “buen estudiante” que mire al suelo, porque “ahora dejaré caer una pizca de sabiduría”, y luego le diré la esencia del enfoque, le describiré lo que tiene mayor valor en la vida y le explicaré. que al alumno “C” le costaba mucho más aprobar que a él, el “buen alumno”, etc…
... o, como hizo una vez mi profesor, dibujaré un pequeño diente en la caja del diario frente a esta persona insatisfecha y la próxima vez haré personalmente el trabajo de laboratorio para él. Justo. Para no “extinguir” a tus camaradas.

La base de cualquier programación sobre... rompecabezas

Оценки
El proceso educativo, como el mundo entero, se está literalmente ahogando en precios y calificaciones.
Los estudiantes también son personas.Sin embargo, en mi opinión, el “marco” también debería haberse “sacudido”.
Durante el semestre, a todos se les asignó una tarea adicional. Regístrese para Github.com, cargue un proyecto C++ vacío allí, realice 2 actualizaciones, confírmelas y envíelas. Para estas acciones se asignaron 15. Sí, sí, no 4, no 5, sino 15. Tres lo resolvieron. Esto era de alguna manera comprensible para el psicotipo del estudiante, pero hubo otro caso.
Una vez nuestra pareja fue trasladada para que ella fuera la última, y ​​también por un par de ventanas. Sin embargo, todavía acudieron 15 personas. No quería explicar un tema nuevo en honor a tal heroísmo, ya que ya habíamos progresado bastante bien puramente en temas + el siguiente tema no era muy simple para cerebros cansados ​​(el mío y el de los estudiantes). Entonces decidí hablar de filosofía.

— Les anuncio una atracción de una generosidad sin precedentes. Todos me dicen que nota ponerle por el par de hoy.
Todos querían una "A".
“Considera que ya está ahí”, dije. Todos estaban felices.
Silencio.
- ¿Por qué nadie quiso? 7-ku o 10-ku?
Los ojos de todos se abrieron y empezaron a sonreír estúpidamente.
- ¿Apostarás? ¡¿A la revista?! - llegó una voz desde el mostrador de atrás.
- ¡Sí, fácil! - dije, - estoy anunciando un bombardeo en los términos, quien responda 10 de mis preguntas - apuesto 20 a la revista, sin trampa, el que no contesta es el indicado -10 (menos diez).

“El equipo se animó, comenzó un debate”, honestamente todos habían obtenido puntos. Dos se ofrecieron como voluntarios. Con pequeñas imprecisiones, se turnaron con 10 preguntas sobre la pila, cola, constructor, destructor, recolector de basura, encapsulación, polimorfismo, funciones hash...
Cada uno fue dibujado en una revista. 20... pero la importancia de la revista y las calificaciones cayó en los ojos de todos. Ahora lamento no haberles preguntado si les gustaría “compartir” su evaluación con alguien. Me parece que compartirían... A partir de ahora, todos entregaron el “laboratorio” con conocimiento y honestidad.

A partir de ese momento apareció otro tipo de parto por laboratorio:


case честноНеЕгоНоОнПытался

- ¿Lo hiciste tu mismo?
- No.
Por que
- Difícil. Él me ayudó... *honestamente nombra a un excelente estudiante del grupo*
- ¿Entendiste?
— Sergey Nikolaevich, honestamente, no entiendo nada, así que escribí comentarios al lado de cada línea — bueno, eso no es lo mío, seré conductor de tractor
- ¿Qué es esto?
— *lee el comentario al lado de la línea*.
- ...
- ...
— ¿Cuál es la diferencia entre Bielorrusia MTZ y Don 500 y K700?
- ??!.. El primero es un tractor de ruedas fabricado en Minsk, que se utiliza a menudo en tipos de producción agrícola ligera y media. También tiene ruedas pequeñas delante y ruedas grandes detrás. El Don 500 es básicamente una cosechadora, y el K-700 Kirovets es un tractor de ruedas todoterreno soviético de uso general, clase de tracción 5.
- aceptado. Bien (!!!).
- ¡¡¡Gracias Serguéi Nikolaevich!!!

En mi tierra, hablar de TractorA es casi como hablar aquí de SOLID.

Genio
Había un genio en mi grupo. El alumno llegó muy tarde desde la primera clase y no completó el rompecabezas junto con los demás. Luego le pedí que hiciera lo que había planeado para todos para la próxima lección: escribirse en una hoja de papel lo que le interesa, lo que le interesa. Según los resultados, “Genius” tenía 2-3 líneas: algo así como “Me doy cuenta de la inutilidad de ser”...

...Oh, Dios, en mi grupo tengo al segundo Lao Tzu y Kojima en una sola persona...
La base de cualquier programación sobre... rompecabezas

Para mi sorpresa, en las dos primeras clases respondió muy bien a las preguntas sobre términos, pero el efecto no duró mucho. El “genio” dejó de asistir a clases y la siguiente vez vino sólo para aprobar el primer trabajo de laboratorio, que completó con éxito. no pasó por razones objetivas. Luego, debido al ausentismo, naturalmente acumuló deudas que, según creía, Simplemente me vi obligado a contarlo, por así decirlo, “de manera fraternal”..
No asistir a parejas + aumento del ritmo cardíaco era contrario a los principios establecidos para asistir a mis clases. "Genio" solo tenía dos salidas a la situación: rehabilitarse (el camino esperado) o abandonar las clases y esperar una "C" otorgada por el decano para deshacerse del holgazán.
Bueno, esto es "Genio"... tienes que actuar "brillantemente" de inmediato. Este joven no pudo encontrar nada mejor que escribir en el diálogo general de VK (donde estábamos yo y todos los estudiantes de este grupo) una diatriba enojada con maldiciones e insultos dirigidos a mí.

Mmm... Decepción.
Lo más sorprendente fue que, antes de finalizar la operación punitiva por parte de la dirección del colegio, decidió pedirme disculpas. ¿Para qué? - Sinceramente no lo entiendo. En aquella época ya hacía tiempo que me había mantenido al margen de las críticas, especialmente de aquellas que eran francamente estúpidas. Mi personalidad no se vio afectada, pero los procesos son procesos, y como docente no pude evitar reportarlo. Al final resultó que, ya se habían acumulado tantas quejas contra él durante sus estudios que este caso resultó ser el último. Fue expulsado. Del último año de escuela vocacional.
Quizás me ha estado observando durante mucho tiempo a través de la mira de un rifle de francotirador, pero, para ser honesto, no me importa.
Eh, genio, eres un desalmado...

El acto final
Para mí personalmente, la experiencia docente fue una de las más esclarecedoras. Esto me ayudó a consolidar mis conocimientos fundamentales de programación después de estudiar en el instituto. Me sentí seguro de la especialidad que elegí (la gama de especialidades disponibles). De particular importancia es el hecho de que el "grupo más travieso" me infundió respeto y amabilidad; esto vale mucho. Logré encontrar un camino hacia mis innovadores internos, traté de inculcarles la realidad y no estas prioridades estereotipadas. Es una pena que no hayamos llegado al "rompecabezas" de la codificación: cuando todos tendrían que hacer parte del código, y al conectar todas las partes en una, obtendríamos un gran programa funcional...
Espero que algún día cada uno de ellos sienta esto... pero por ahora, a continuación se muestran capturas de pantalla con reseñas de varios estudiantes después de 2 años.

La base de cualquier programación sobre... rompecabezas

Es demasiado pronto para sacar conclusiones sobre el éxito de la carrera de programador de cualquiera de ellos, porque ahora la mayor parte de este grupo estudia en una universidad. El tiempo lo mostrara.

Espero que el artículo haya sido útil. ¡Gracias por su atención!
¡Éxito creativo y estado de ánimo positivo, colegas!

Fuente: habr.com

Añadir un comentario