Cuando visité la legendaria Escuela 42: "piscina", gatos e Internet en lugar de maestros. Parte 2


En la última publicación comencé la historia sobre la Escuela 42, que es famosa por su revolucionario sistema de educación: no hay maestros, los estudiantes mismos verifican el trabajo de los demás, no es necesario pagar los estudios. En esta publicación, hablaré más sobre el sistema de capacitación y las tareas que realizan los estudiantes.


No hay maestros, hay Internet y camaradas. La educación en la escuela se basa en los principios del trabajo conjunto del proyecto: el aprendizaje entre pares. Los estudiantes no estudian ningún libro de texto; no les dan conferencias. Los organizadores de la escuela creen que todo se puede encontrar en Internet, pregunte a amigos o estudiantes más experimentados con quienes está trabajando en un proyecto.


Las tareas completadas son revisadas 3-4 veces por otros estudiantes, para que todos puedan ser tanto estudiantes como mentores. Tampoco hay calificaciones: solo debe completar la tarea correcta y completamente. Incluso si se hace el 90%, se contará como un fracaso.


No hay calificaciones, hay puntos. Para comprobar el proyecto, debe tener un cierto número de puntos: puntos de corrección. Los puntos se obtienen al verificar la tarea de otros estudiantes. Y este es un factor de crecimiento adicional: debe comprender una variedad de tareas, que a veces exceden su nivel de conocimiento.


“Algunos proyectos son un verdadero cosmos, el cerebro explota de ellos. Y luego, para ganar solo un punto de corrección, debes sudar todo el día, entendiendo el código. Una vez tuve suerte, y recibí hasta 4 puntos en un día, este es un éxito raro ”, dice mi amigo, el estudiante Sergei.


Siéntate en la esquina no funcionará. Los proyectos se llevan a cabo solos y en parejas, y en grupos más grandes. Siempre están protegidos en persona, es importante que todos los miembros del grupo participen activamente y que todos entiendan el código y estén muy motivados. Silencio y sentarse a un lado aquí no funciona. De esta manera, la escuela bombea trabajo en equipo y habilidades de comunicación exitosas. Además, todos los estudiantes se conocen y se comunican entre sí, lo cual es muy útil para establecer contactos y carreras futuras.


Gamificación Al igual que en un juego de computadora, los estudiantes suben los niveles y monitorean su progreso con la ayuda del Gráfico Sagrado, una tarjeta "sagrada", que muestra claramente todo el camino recorrido y próximo. Al igual que en el juego de rol, la "experiencia" se acumula para los proyectos, y después de acumular una cierta cantidad, se realiza una transición a un nuevo nivel. La similitud con el juego real también radica en el hecho de que cada nuevo nivel es más complicado que el anterior, hay cada vez más tareas.



Vidrio y Adm. La escuela tiene dos divisiones principales: Bokal (técnicos) y Adm (administración). Glass: trata cuestiones técnicas y el componente pedagógico, mientras que Adm: trata cuestiones administrativas y organizativas. La reserva de personal de Glass / Adm se repone a expensas de los estudiantes que son pasantes en la escuela.


Cómo y qué se enseña aquí


Todo comienza con "C". La escuela usa solo Unix, considerando que Windows no es la mejor opción. El código se enseña desde lo más básico, lo que obliga a comprender la lógica de la programación. Los primeros niveles, todos los proyectos se llevan a cabo solo en C y C ++, el IDE no se utiliza. Los estudiantes usan el compilador gcc y el editor de texto vim.


“En otros cursos se le asignarán funciones, se le pedirá que complete un proyecto y solo entonces se le explicará cómo se programan. Aquí no puede usar la función hasta que la escriba usted mismo. Al principio, mientras aún estaba en el "grupo", no entendía por qué necesitaba este malloc, por qué debería asignar memoria yo mismo, por qué no aprendí Python y Javascript. Y de repente se te ocurre, y comienzas a entender cómo piensa la computadora ".


Normineut Después de una protección exitosa, todos los proyectos se cargan a la contraparte local de GitHub. Pero antes de eso, deben pasar una verificación de cumplimiento del código con las reglas de la escuela utilizando el programa Norminette.


“Si el código funciona bien, pero hay una pérdida de memoria, entonces el proyecto se considera fallido. También se verificó la sintaxis. Tenemos una lista de funciones prohibidas, atributos, banderas, y su uso es equivalente a hacer trampa. Tienes que hacer todo con tus propias manos y con mucho cuidado ”, dice Sergey.



Ejemplos de tareas.


Todas las tareas realizadas por los estudiantes se verifican de tres maneras: mediante programación, mediante una lista de verificación de otros estudiantes y representantes de la Copa. A continuación se presentan algunos proyectos que se llevan a cabo de forma independiente y se verifican de acuerdo con una lista de verificación:


Init (Administración de sistemas y redes) : debe instalar el sistema operativo Debian en la máquina virtual y configurarlo de acuerdo con los requisitos especificados en la tarea.


Libft : implemente funciones de biblioteca estándar en C, como: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower , etc. No hay bibliotecas de terceros, todo con sus propias manos. Usted mismo escribe encabezados, lo implementa usted mismo, crea un Makefile usted mismo, lo compila usted mismo.


Printf : es necesario implementar completamente la función printf estándar con todos sus argumentos en C. Esto es bastante difícil para los principiantes.


Fillit : era necesario recoger un cuadrado del área mínima de la lista de tetramino que llegaba a la entrada. En cada nuevo paso, se añadió un nuevo tetramino. La tarea se complica por el hecho de que los cálculos tuvieron que hacerse en C y por el tiempo mínimo.


Libls : implemente su versión del ls con todas sus banderas estándar. Puede y debe usar los logros de tareas pasadas.


Rheshes


Además de las tareas que se realizan solas, hay una categoría separada de tareas que son realizadas por un grupo de estudiantes: apuros. A diferencia de los proyectos independientes, el apuro no es verificado por los estudiantes en una lista de verificación, sino por el personal de la escuela de Bokal.


Pipex : el programa de entrada acepta nombres de archivo y comandos de shell arbitrarios, el alumno debe demostrar la capacidad de trabajar con tuberías a nivel del sistema e implementar una funcionalidad idéntica al comportamiento regular del sistema en el terminal.


Minitalk : implemente una aplicación cliente-servidor en C. El servidor debe ser compatible con varios clientes e imprimir mensajes enviados por el cliente utilizando las señales del sistema SIGUSR1 y SIGUSR2.


Congelado : escriba un servidor IRC en Golang, que pueda trabajar con varios clientes al mismo tiempo, utilizando concurrencia y goroutines. El cliente debe poder iniciar sesión con un nombre de usuario y contraseña. Un servidor IRC debe admitir múltiples canales.


Conclusión


Cualquiera puede ingresar a la Escuela 42, y no necesita tener conocimientos especiales para hacerlo. A pesar de que el programa está diseñado para principiantes, las tareas simples se reemplazan rápidamente por tareas no triviales, a menudo con formulaciones confusas. Se requiere que el estudiante dé la máxima dedicación, la capacidad de buscar la información que falta en la documentación oficial en inglés, y también unirse con otros estudiantes para completar las tareas. El programa de capacitación no tiene una secuencia estricta, por lo que todos eligen un camino de desarrollo por sí mismos. La ausencia de calificaciones de extremo a extremo le permite concentrarse en su progreso y desarrollo, y no compararse con los demás.

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


All Articles