¬ŅY c√≥mo ves la educaci√≥n en TI?

Los estudiantes y los maestros son completamente diferentes entre sí. Algunos quieren disfrutar de la vida, mientras que otros interfieren constantemente con esto. Forzan cada seis meses a sentarse de nuevo, volver a leer las conferencias, no dormir durante varios días e inyectarse café por vía intravenosa.

Por supuesto, las personas son diferentes, m√°s bien habla de estereotipos. Cuando era estudiante, nunca pens√© que comenzar√≠a a ense√Īar, y no pens√© que ir√≠a a la escuela de posgrado y no imagin√© mucho en absoluto. Pero sentarse en el lugar de trabajo durante 8 horas al d√≠a y luego volver a casa y empujar a trav√©s del sof√° es demasiado aburrido. As√≠ que pasar√° toda la vida viendo la pr√≥xima temporada del Juego de Tronos o una fiesta en Dotka.

Mi experiencia como maestra es modesta, solo 2 a√Īos. Pero durante los 2 a√Īos hubo una experiencia interesante que quer√≠a compartir. El art√≠culo result√≥ ser largo e impaciente puede mirar al final, donde se da el residuo seco obtenido como resultado de prueba y error.

¬ŅC√≥mo suelen representar las personas a un profesor universitario? Un adulto, una persona seria, con gran experiencia de vida, cuya autoridad es inquebrantable. Esto se siente especialmente entre los profesores de ciencias exactas. Pero un estudiante reciente no se ajusta a esta descripci√≥n en absoluto. Pero eso no significa nada. ¬ŅPor qu√© no romper los estereotipos y, en lugar de abultar los ojos para mirar las experiencias de esos maestros tan sofisticados, seguir su propio camino? Negarse a aprender las mejores pr√°cticas es una idea est√ļpida, pero hay algo en estas personas que vale la pena aprender. Pero hay otro, el principal enemigo de la novedad: los h√°bitos.

La programaci√≥n no es un tapete. An√°lisis (Cap est√° en alg√ļn lugar cercano). Las ciencias matem√°ticas son un campo mucho m√°s maduro. La mayor√≠a de las leyes ya son conocidas. Hay muchas menos preguntas abiertas que en la programaci√≥n. La programaci√≥n es un √°rea muy din√°mica, no hay lugar para los h√°bitos. Es demasiado para apegarse a algo, y simplemente te caes de la realidad.

Tuve suerte, en el segundo a√Īo, cuando nos ense√Īaron programaci√≥n orientada a objetos, nuestro grupo fue asignado a un joven maestro. Era activo, de principios, perfeccionista y bastante competente en escribir c√≥digo. En lugar de simplemente aceptar los laboratorios que funcionan, lo oblig√≥ a escribir c√≥digo, por lo que ahora no tiene verg√ľenza.

Si no fuera por él, todos nosotros en el trabajo hubiéramos aprendido qué son las "constantes mágicas", por qué necesita devolver una variable a cambio (y no presionar el operador unario allí), por qué no puede escribir construcciones fuertes mientras, cómo trabajar con la interfaz de usuario en Java, por qué en C ++ todo debe pasar por puntero constante. En general, la mayoría de los ejemplos en Internet son un bydcode raro que no se puede usar en producción. Y esto es normal, porque él es un ejemplo de eso, para mostrar que el código funciona de la manera más clara posible sin complicaciones.

E incluso si no dormimos y escribimos el código toda la noche en la noche del 30 al 31 de enero, y fuimos a tomar laboratorios el 31, esto permitió que nuestro grupo estuviera muy por delante del resto de la corriente.

No fue un recuento primitivo del libro de texto, ni una adopción no inicializada de los de laboratorio, fue justo lo que necesitabas. Curiosamente, difícil, entendiste cuánto bombeaba. Sentiste ganas de comenzar a subir de peso con esteroides.

Y así, al convertirme en maestra, decidí adoptar lo mejor de todos y agregar con mi "truco".

Prueba de plumas


Vienes a la escuela y te dicen que olvides toda la peste que tus padres te ense√Īaron, vienes a la universidad y te dicen: olvida todo lo que te ense√Īaron en la escuela, vienes a trabajar, te dicen, olvida todo lo que te ense√Īaron en la universidad.
Recordemos lo que nos ense√Īaron en el trabajo despu√©s de la universidad.

Aquí hay una lista que hice sobre mí:

  1. Git
  2. Jira \ Redmine \ Trello
  3. Revisión de código
  4. Inyección de dependencia
  5. Prueba unitaria
  6. CI \ CD
  7. Trabajar con la base de datos (nos ense√Īaron a escribir consultas, pero no a usarlas en Java)
  8. Migración de base de datos
  9. ORM

Pero esto es lo que se encuentra en la superficie, y si profundiza, la lista se expandir√°:

  1. Docker
  2. K8S
  3. Arquitectura de micro servicios

Algo de esto fue contado, pero otros no. S√≠, nos dijeron c√≥mo se organiza la solicitud de publicaci√≥n. Sobre alg√ļn tema se habl√≥ de Json. Y en Java, incluso trabajamos con sockets. Pero todo estaba fuera de contacto con tareas reales. Y un estudiante ordinario atestaba estas cosas de la manera habitual, tomaba un examen y luego olvidaba, y luego recordaba pieza por pieza cuando llegaba al trabajo.

Podemos decir que los estudiantes mismos tienen la culpa. Pero entonces podemos decir que los programadores tienen la culpa de los errores. En general, golpéalos con un látigo y déjalos que lo hagan inmediatamente de manera normal.

Pero no, esta es la realidad, no es perfecta y, por lo tanto, contratan probadores y los obligan a escribir pruebas de Unidad. Si una cosa no se erradica, solo queda adaptarse a ella.

Otro punto importante es el entusiasmo del profesor. Muchos ya ense√Īan por inercia. Est√°n acostumbrados: de a√Īo en a√Īo sucede lo mismo. Pero los estudiantes lo sienten. Y por lo tanto, sin esa d√©bil motivaci√≥n cae por debajo de la marca 0. A medida que se acerca la sesi√≥n, esta barra comienza a crecer. Es una pena que no todos los estudiantes a tiempo se den cuenta de la profundidad de su situaci√≥n.

Total hay 2 problemas globales:

  1. Problema de motivación
  2. Irrelevancia / fragmentación del conocimiento proporcionado

Nosotros decidiremos! No todo tuvo √©xito seg√ļn lo planeado, pero finalmente tuvo √©xito.

Al llegar a la primera lección, forcé a todos a registrarse para bitbucket. En ese momento era el primer plato. El tema se llamaba "Informática". El propio profesor dijo que podemos hablar de todo lo que hace eco de esta palabra.

El tema era ejecutar peque√Īos laboratorios en * nix shell. Los estudiantes escupen sobre c√≥mo usar el git durante mucho tiempo. Especialmente git de consola. Pero como me pareci√≥ al final del semestre, se incendiaron.

Creamos una sala de chat en VK, allí descargué artículos sobre el tema, respondí preguntas. Y es realmente conveniente. No repitas 100500 veces. Y si una persona no se molesta en leer, simplemente envíele el mensaje.

Sobre el tema, decid√≠ hablar un poco sobre CI \ CD, Prueba de unidad, Revisi√≥n de c√≥digo. Fue dif√≠cil, tuve que hacer una pregunta 1000 veces, ¬Ņentendiste eso? Ten√≠a que dejarme guiar por mis puntos de vista. Porque la respuesta siempre fue "S√≠". Pero en los ojos se lee una completa falta de comprensi√≥n.

Las parejas en las que me sent√© en la computadora y claramente mostr√© algo, fueron mucho mejores. Parece estar escribiendo un peque√Īo comando de PowerShell que cierra Chrome. Un poco, pero para un estudiante de primer a√Īo parece m√°gico. En esos momentos, los chicos se interesaron.

Otra condición del profesor: era necesario hacer presentaciones. Personalmente, no quería estirar esto durante todo el semestre con un montón de notas sobre quién aprobó y quién no.

Hubo una propuesta de mí para centralizar la presentación de presentaciones. Elegimos el momento en que es conveniente para todos, reservamos una oficina para todo el sábado \ viernes, tengo pizza \ pasteles \ té \ café, de los chicos de la presentación. Sorprendentemente, la mujer con la que acordé la reserva del gabinete no se opuso. Este formato fue especialmente popular para los chicos. Gastar cada seis meses 2-3 mil no es un gran dinero, y los chicos lo recordaron para siempre.

Conos de relleno


Despu√©s del final del primer curso, los chicos me pidieron que intentara organizarse y escribir alg√ļn tipo de juguete. Y luego los chicos tambi√©n tuvieron esta idea. Pero la implementaci√≥n, desafortunadamente, no lo es. Para implementar el plan, se eligi√≥ el Unreal Engine. El argumento es simple: utiliza una sintaxis muy cercana a C ++, y dado que los chicos deber√≠an haberlo estudiado en el pr√≥ximo semestre, si no escriben nada que valga la pena, al menos les ayudar√° en el pr√≥ximo semestre.

Ofrec√≠ dar peque√Īas conferencias sobre C ++ en un formato en l√≠nea, y luego proceder con la implementaci√≥n. El problema es que yo mismo estoy desarrollando en .Net y he olvidado completamente C ++. Ten√≠a que recordar, tom√≥ tiempo. Francamente, tampoco hubo tiempo suficiente para aprender Unreal. Pero este verano, muchos de los muchachos que respondieron gradualmente comenzaron a fusionarse. Pero la rutina tambi√©n me arrastr√≥: las reparaciones en mi casa de campo por parte de mis padres, el deseo de disfrutar el verano, un cambio de compa√Ī√≠a tambi√©n coincidi√≥ con este per√≠odo, unas vacaciones. En general, result√≥ que gast√© toda mi energ√≠a en otros asuntos igualmente importantes. El resultado fueron unas pocas conferencias, un par de l√≠neas de c√≥digo muerto, en las que no querr√°s meter una varita m√°gica.

Afectados y la distribución del equipo. Todos están disponibles en diferentes momentos, alguien simplemente ignora los mensajes, etc. En general, para motivar a las personas en Internet, necesita: en primer lugar, otros medios, en segundo lugar, experiencia con un equipo distribuido (que no tengo) y, en tercer lugar, mucho más entusiasmo. Bueno, la falta de resultado también es un resultado. Por mi parte, quiero agradecerles a los muchachos, ustedes son geniales, pero he sacado conclusiones e intentaré no repetir errores.

Sin embargo, la inform√°tica no es exactamente el tema que me gustar√≠a dirigir. La posici√≥n del profesor y la oficina del decano es muy leal, incluso si el estudiante hizo algo, parec√≠a una pareja. En general, esto es correcto; los temas no son todos igualmente importantes. Y la importancia depende de la especialidad. Ser√≠a extra√Īo considerar que la cultura del habla es tan importante para los programadores como Mat. An√°lisis o POO. O para obligar a los estudiantes de humanidades a pasar los laboratorios de f√≠sica durante d√≠as. Pero quer√≠a un papel m√°s responsable.

Ganando impulso


Entonces, las clases en OOP han comenzado. Al igual que con la informática, los estudiantes se registraron en Bitbucket. Pero todavía había un par de innovaciones.

Ahora los chicos crearon solicitudes Pull y recibieron comentarios de c√≥digo en respuesta. Y s√≠, tuvieron que tomar el primer laboratorio durante 2 meses, hasta que comenz√≥ a satisfacer los requisitos m√≠nimos para el dise√Īo del c√≥digo.

Tenemos a Trello, para cada tarea, su propio tablero (había 5 de ellos), el nombre de la tarea es el nombre completo del estudiante. Como resultado, resultó claramente, y ahora los chicos tienen una idea sobre el rastreador de tareas y los tableros kanban.

En parejas, el enfoque no era solo c√≥mo escribir tu clase. Por el contrario, sobre c√≥mo hacer tal arquitectura para que pueda expandirse f√°cilmente. Se prest√≥ mucha atenci√≥n a los principios de OOP, principios S√ďLIDOS. Varias veces tuve que repetir el principio de las funciones virtuales.

Al comienzo de la pareja: una peque√Īa prueba sobre los temas anteriores. No le di ninguna calificaci√≥n. Esto es necesario para la motivaci√≥n. Despu√©s de todo, si un estudiante se da por vencido, es probable que lo recuerde, lo comprenda y lo deje de lado. Aqu√≠ me ayud√≥ el hecho de que yo mismo estaba en su lugar no hace mucho tiempo y recuerdo c√≥mo funciona todo. En general, 5 minutos es algo bueno, y para m√≠ es m√°s una motivaci√≥n que una forma de control.

En alg√ļn momento, mi conocimiento comenz√≥ a agotarse, y era necesario decir algo: hab√≠a la sensaci√≥n de que muchos m√°s no se hab√≠an dicho.

Ok Google, preguntas para una entrevista en C ++. Seleccione una lista para Junior. Leemos la pregunta y las respuestas. Voila, se bombeaban, bombeaban estudiantes.

Debido al trabajo, se perdieron varios pares. Era necesario restaurarlos, porque el cambio se prolongó. La misma recepción de pizza vino al rescate. Acordamos que elegiríamos un lugar y un momento para sentarnos, pedir comida, nos saltaríamos todo el día restaurando los pases, y los estudiantes en teoría deberían haber recibido +1 en los laboratorios que habían entregado. Ayudé, respondí preguntas.

Como resultado, result√≥ no ser as√≠, se volvi√≥ problem√°tico asignar todo el d√≠a, tomaron 2 a 0.5. Tampoco est√° mal, aunque esperaba que haya m√°s impulso. Sin embargo, fue y no estuvo mal por 1-2 veces. Despu√©s de todo, no todos lo hacen bien la primera vez, ¬Ņverdad? Ok, otra peque√Īa experiencia.

En el camino, hizo que los chicos tuvieran un trato de +1 con la inyección de dependencia en C ++. Debo decir que algunos se dieron cuenta. En general, los estudiantes están bien hechos. Los dos incluso hicieron juguetes geniales con una interfaz GUI y una buena arquitectura. Y uno incluso descubrió Qt. Finalmente, logré exprimir a todos los estudiantes y hacerles aprobar todo lo que necesitan para ser admitidos en los exámenes. Las estadísticas resultaron bastante buenas.

Comenzó un nuevo semestre y comenzó con una pareja en formato mitap. La primera tarea del profesor fue sembrar. Analizador de archivos primitivo y salida en formato CSV.

Vinieron, encendieron el proyector, juntos en la rodilla durante 1,5 horas lanzaron una soluci√≥n en la que todav√≠a hab√≠a algo que apretar, pero en general el marco estaba listo. En mi opini√≥n, los estudiantes deber√≠an ver c√≥mo funciona, c√≥mo razonar al respecto, etc. El formato mitap es lo que necesitas. Es por eso que los estudiantes de primer a√Īo observaron con tanto inter√©s c√≥mo se cierra el navegador despu√©s del siguiente comando en la consola. Es claro e interesante. En cuanto a m√≠, vale la pena desarrollar este formato.

Para resumir


Esta es √ļnicamente mi visi√≥n, puede que no sea cierto, pero a los estudiantes les gust√≥:

  1. Usamos Git y lo hacemos funcionar con ramas, solicitudes de extracción, etc.
  2. Crea Trello y realiza un seguimiento de las tareas all√≠. Ense√Īamos a los estudiantes a mover la tarea en CR, de lo contrario no se ver√°.
  3. Pasamos 5 minutos, motivan a los estudiantes a recordar lo que no sabían. No es agradable para todos pensar, pero para algunos es incluso doloroso, pero es mejor acostumbrarse a él durante el semestre.
  4. Preguntas para la preparación == preguntas para una entrevista para un puesto Junior
  5. Le hacemos frente a la inyección de dependencia, las pruebas unitarias y otras realidades del desarrollo moderno.
  6. Realizamos mitaps en parejas. Deje que los estudiantes repitan después del seminario, antes de dibujar una obra maestra, el artista debe dibujar lo que otros pintaron cientos de veces.
  7. Organizamos mini hackatones, compramos pizza / jugos y ense√Īamos a los estudiantes a pasar un buen rato
  8. En general, tratamos de hacer todo como en la vida.

Algo as√≠, me imagino entrenando en desarrollo. Que piensas Siempre abierto a nuevas ideas, ¬°hag√°moslo a√ļn mejor!

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


All Articles