Als ich die legendäre Schule 42 besuchte: "Pool", Katzen und das Internet statt Lehrer. Teil 2


Im letzten Beitrag habe ich die Geschichte über die Schule 42 begonnen, die für ihr revolutionäres Bildungssystem bekannt ist: Es gibt keine Lehrer, die Schüler überprüfen selbst die Arbeit des anderen, Sie müssen nicht für das Studium bezahlen. In diesem Beitrag werde ich mehr über das Trainingssystem und die Aufgaben der Schüler sprechen.


Es gibt keine Lehrer, es gibt das Internet und Kameraden. Die Schulbildung basiert auf den Prinzipien der gemeinsamen Projektarbeit - Peer-to-Peer-Lernen. Die Schüler studieren keine Lehrbücher und geben ihnen keine Vorlesungen. Schulorganisatoren glauben, dass alles im Internet zu finden ist, fragen Sie Freunde oder erfahrene Schüler, mit denen Sie an einem Projekt arbeiten.


Abgeschlossene Aufgaben werden 3-4 Mal von anderen Schülern überprüft, sodass jeder sowohl Schüler als auch Mentor sein kann. Es gibt auch keine Bewertungen - Sie müssen nur die Aufgabe korrekt und vollständig ausführen. Selbst wenn es zu 90% erledigt ist, wird es als Fehler gewertet.


Keine Bewertungen, es gibt Punkte. Um das Projekt zu überprüfen, müssen Sie eine bestimmte Anzahl von Punkten haben - Korrekturpunkte. Punkte werden verdient, indem die Hausaufgaben anderer Schüler überprüft werden. Und dies ist ein zusätzlicher Wachstumsfaktor - Sie müssen eine Vielzahl von Aufgaben verstehen, die manchmal Ihren Wissensstand überschreiten.


„Einige Projekte sind ein echter Kosmos, das Gehirn explodiert aus ihnen heraus. Und um nur einen Korrekturpunkt zu erhalten, müssen Sie den ganzen Tag schwitzen und den Code verstehen. Sobald ich Glück hatte und an einem Tag bis zu 4 Punkte erhielt, ist dies ein seltener Erfolg “, sagt mein Freund, Student Sergei.


In der Ecke sitzen wird nicht funktionieren. Projekte werden sowohl alleine als auch paarweise und in größeren Gruppen durchgeführt. Sie sind immer persönlich geschützt, es ist wichtig, dass alle Mitglieder der Gruppe aktiv teilnehmen und dass jeder den Code versteht und hoch motiviert ist. Schweigen und beiseite sitzen hier funktioniert nicht. Auf diese Weise fördert die Schule Teamwork und erfolgreiche Kommunikationsfähigkeiten. Außerdem lernen sich alle Schüler kennen und kommunizieren miteinander, was für das Networking und zukünftige Karrieren sehr nützlich ist.


Gamification Wie in einem Computerspiel steigen die Schüler die Ebenen auf und überwachen ihren Fortschritt mithilfe des Heiligen Graphen - einer „heiligen“ Karte, die den gesamten zurückgelegten und bevorstehenden Weg klar zeigt. Wie im Rollenspiel wird "Erfahrung" für Projekte gesammelt, und nach dem Sammeln einer bestimmten Menge davon wird ein Übergang zu einer neuen Ebene vorgenommen. Die Ähnlichkeit mit dem realen Spiel liegt auch in der Tatsache, dass jedes neue Level komplizierter ist als das vorherige, es gibt immer mehr Aufgaben.



Glas und Adm. Die Schule hat zwei Hauptabteilungen - Bokal (Techniker) und Adm (Verwaltung). Glas - befasst sich mit technischen Fragen und der pädagogischen Komponente, während Adm - mit administrativen und organisatorischen Fragen befasst. Die Personalreserve von Glass / Adm wird auf Kosten der Schüler, die Praktikanten an der Schule sind, aufgefüllt.


Wie und was wird hier gelehrt


Alles beginnt mit "C". Die Schule verwendet nur Unix, da Windows nicht die beste Wahl ist. Der Code wird von Grund auf gelehrt und zwingt dazu, die Logik der Programmierung zu verstehen. In den ersten Ebenen werden alle Projekte nur in C und C ++ ausgeführt, die IDE wird nicht verwendet. Die Schüler verwenden den gcc-Compiler und den vim-Texteditor.


„In anderen Kursen erhalten Sie Funktionen, werden gebeten, ein Projekt abzuschließen, und erst dann wird erklärt, wie sie programmiert sind. Hier können Sie die Funktion erst verwenden, wenn Sie sie selbst geschrieben haben. Als ich noch im „Pool“ war, verstand ich zunächst nicht, warum ich dieses Malloc brauchte, warum ich selbst Speicher zuweisen sollte, warum ich Python und Javascript nicht lernte. Und dann kommt es plötzlich zu Ihnen und Sie beginnen zu verstehen, wie der Computer denkt. “


Normineut. Nach erfolgreichem Schutz werden alle Projekte auf das lokale GitHub-Gegenstück hochgeladen. Zuvor müssen sie jedoch eine Code-Konformitätsprüfung mit dem Norminette-Programm bestehen.


„Wenn der Code einwandfrei funktioniert, aber ein Speicherverlust vorliegt, gilt das Projekt als fehlgeschlagen. Auch auf Syntax überprüft. Wir haben eine Liste verbotener Funktionen, Attribute, Flags und deren Verwendung entspricht dem Betrügen. Man muss alles mit eigenen Händen und sehr sorgfältig machen “, sagt Sergey.



Beispiele für Aufgaben


Alle von den Schülern ausgeführten Aufgaben werden auf drei Arten überprüft: programmgesteuert, anhand einer Checkliste anderer Schüler und Vertreter des Glases. Nachfolgend einige Projekte, die unabhängig voneinander durchgeführt und anhand einer Checkliste überprüft werden:


Init (System- und Netzwerkadministration) - Sie müssen das Debian-Betriebssystem auf der virtuellen Maschine installieren und gemäß den in der Aufgabe angegebenen Anforderungen konfigurieren.


Libft - Implementieren Sie Standardbibliotheksfunktionen in C, z. B. strcmp, atoi, strlen, memcpy, strstr, toupper, tolower usw. Keine Bibliotheken von Drittanbietern, alle mit Ihren eigenen Händen. Sie schreiben selbst Header, Sie implementieren sie selbst, Sie erstellen selbst ein Makefile , Sie kompilieren es selbst.


Printf - Es ist notwendig, die Standardfunktion printf mit all ihren Argumenten in C vollständig zu implementieren. Dies ist für Anfänger ziemlich schwierig.


Fillit - es war notwendig, ein Quadrat der Mindestfläche aus der Liste der Tetraminos zu sammeln, die zum Eingang kamen. Bei jedem neuen Schritt wurde ein neues Tetramino hinzugefügt. Die Aufgabe wird dadurch erschwert, dass die Berechnungen in C und für die Mindestzeit durchgeführt werden mussten.


Libls - Implementieren Sie Ihre Version des ls mit all seinen Standardflags. Sie können und sollten die Erfolge vergangener Aufgaben nutzen.


Rheshes


Zusätzlich zu den Aufgaben, die alleine ausgeführt werden, gibt es eine separate Kategorie von Aufgaben, die von einer Gruppe von Studenten ausgeführt werden - Eile. Im Gegensatz zu unabhängigen Projekten wird der Ansturm nicht von Schülern auf einer Checkliste überprüft, sondern von Schulpersonal aus Bokal.


Pipex - Das Eingabeprogramm akzeptiert Dateinamen und beliebige Shell-Befehle. Der Schüler muss die Fähigkeit demonstrieren, mit Pipes auf Systemebene zu arbeiten und eine Funktionalität zu implementieren, die mit dem regulären Verhalten des Systems im Terminal identisch ist.


Minitalk - Implementieren einer Client-Server-Anwendung in C. Der Server muss in der Lage sein, mehrere Clients zu unterstützen und vom Client gesendete Nachrichten mithilfe der Systemsignale SIGUSR1 und SIGUSR2 zu drucken.


Eingefroren - Schreiben Sie einen IRC-Server in Golang, der mit mehreren Clients gleichzeitig unter Verwendung von Parallelität und Goroutinen arbeiten kann. Der Client sollte sich mit einem Benutzernamen und einem Passwort anmelden können. Ein IRC-Server muss mehrere Kanäle unterstützen.


Fazit


Jeder kann die Schule 42 betreten, und Sie benötigen dazu keine besonderen Kenntnisse. Trotz der Tatsache, dass das Programm für Anfänger konzipiert ist, werden einfache Aufgaben schnell durch nicht triviale Aufgaben ersetzt, häufig mit unscharfen Formulierungen. Der Schüler muss ein Höchstmaß an Engagement zeigen, die fehlenden Informationen in der offiziellen Dokumentation auf Englisch suchen und sich mit anderen Schülern zusammenschließen, um Aufgaben zu erledigen. Das Trainingsprogramm hat keine strenge Reihenfolge, daher wählt jeder einen Entwicklungspfad für sich. Das Fehlen von End-to-End-Bewertungen ermöglicht es Ihnen, sich auf Ihren Fortschritt und Ihre Entwicklung zu konzentrieren und sich nicht mit anderen zu vergleichen.

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


All Articles