Hoe ik de legendarische School 42 bezocht: “pool”, katten en internet in plaats van leraren. Deel 2

Hoe ik de legendarische School 42 bezocht: “pool”, katten en internet in plaats van leraren. Deel 2

В laatste bericht Ik begon een verhaal over School 42, beroemd om zijn revolutionaire onderwijssysteem: er zijn daar geen leraren, leerlingen controleren elkaars werk zelf en er hoeft niet voor school betaald te worden. In dit bericht vertel ik je meer in detail over het trainingssysteem en welke taken studenten voltooien.

Er zijn geen leraren, er is internet en vrienden. Het onderwijs op de school is gebaseerd op de principes van gezamenlijk projectwerk: peer-to-peer leren. Studenten bestuderen geen studieboeken, ze krijgen geen colleges. De schoolorganisatoren zijn van mening dat alles op internet te vinden is, gevraagd aan vrienden of aan meer ervaren leerlingen met wie je aan een project werkt.

Voltooide opdrachten worden 3-4 keer gecontroleerd door andere studenten, zodat iedereen zowel student als mentor kan zijn. Er zijn ook geen cijfers: je hoeft de taak alleen maar correct en volledig uit te voeren. Zelfs als het voor 90% is gedaan, wordt het als een mislukking beschouwd.

Er zijn geen beoordelingen, er zijn punten. Om een ​​project ter beoordeling in te dienen, moet u een bepaald aantal punten hebben: correctiepunten. Punten worden verdiend door het huiswerk van andere leerlingen te controleren. En dit is een extra groeifactor - omdat je een verscheidenheid aan taken moet begrijpen, die soms je kennisniveau te boven gaan.

“Sommige projecten zijn echte ruimte, ze verbazen je. En dan, om slechts één correctiepunt te verdienen, moet je de hele dag zweten en de code begrijpen. Op een dag had ik geluk en behaalde ik maar liefst vier punten op een dag – dit is een zeldzaam stukje geluk.”, zegt mijn vriend, student Sergei.

In de hoek zitten werkt niet. Projecten worden zowel individueel als in tweetallen, maar ook in grotere groepen uitgevoerd. Ze worden altijd persoonlijk beschermd en het is belangrijk dat alle leden van de groep actief deelnemen, dat iedereen de code begrijpt en zeer gemotiveerd is. Het is niet mogelijk om hier stil te blijven staan ​​en aan de zijlijn te blijven staan. Zo verbetert de school de vaardigheden van groepswerk en succesvolle communicatie. En bovendien leren alle studenten elkaar kennen en communiceren, wat erg handig is voor netwerken en toekomstige carrières.

Gamificatie. Net als in een computerspel gaan leerlingen de niveaus omhoog en volgen ze hun voortgang met behulp van de Heilige Grafiek - een 'heilige' kaart die duidelijk het hele pad laat zien dat ze hebben afgelegd en het pad dat voor hen ligt. Net als in een RPG wordt 'ervaring' toegekend aan projecten, en na het verzamelen van een bepaald bedrag ervan wordt er een overgang naar een nieuw niveau gemaakt. De overeenkomst met het echte spel is dat elk nieuw niveau moeilijker is dan het vorige, en dat er steeds meer taken zijn.

Hoe ik de legendarische School 42 bezocht: “pool”, katten en internet in plaats van leraren. Deel 2

Glas en Adm. Er zijn twee hoofdafdelingen op de school: Bokal (technici) en Adm (administratie). Bokal houdt zich bezig met technische vraagstukken en de pedagogische component, terwijl Adm zich bezighoudt met administratieve en organisatorische vraagstukken. De personeelsreserve van Bokala/Adm wordt aangevuld door de studenten zelf, die stage lopen bij de school.

Hoe en wat wordt hier geleerd

Alles begint met "S". Op school gebruiken ze uitsluitend Unix, aangezien Windows niet de beste keuze is. Code wordt vanaf de basis aangeleerd, waardoor je de logica van programmeren moet begrijpen. De eerste paar niveaus van alle projecten worden alleen uitgevoerd in de talen C en C++, er worden geen IDE's gebruikt. Studenten gebruiken de gcc-compiler en de vim-teksteditor.

“Bij andere cursussen geven ze je functies, vragen ze je een project te doen en leggen dan pas uit hoe ze geprogrammeerd zijn. Hier kunt u de functie pas gebruiken als u deze zelf schrijft. In eerste instantie, terwijl ik nog in de "pool" zat, begreep ik niet waarom ik deze malloc nodig had, waarom ik zelf geheugen moest toewijzen, waarom ik geen Python en Javascript studeerde. En dan dringt het plotseling tot je door en begin je te begrijpen hoe de computer denkt.”

Normineren. Na succesvolle bescherming worden alle projecten geüpload naar het lokale equivalent van GitHub. Maar daarvoor moeten ze worden gecontroleerd om er zeker van te zijn dat de code voldoet aan de schoolregels met behulp van het Norminette-programma.

“Als de code perfect werkt, maar er is sprake van een geheugenlek, dan wordt het project als een mislukking beschouwd. Ze controleren ook op syntaxis. We hebben een lijst met verboden functies, attributen en vlaggen, en het gebruik ervan wordt als bedrog beschouwd. Je moet alles met je eigen handen en heel voorzichtig doen.", zegt Sergei.

Hoe ik de legendarische School 42 bezocht: “pool”, katten en internet in plaats van leraren. Deel 2

Voorbeelden van taken

Alle door studenten uitgevoerde taken worden op drie manieren gecontroleerd: programmatisch, volgens een checklist van andere studenten en vertegenwoordigers van het Glas. Hieronder staan ​​enkele doe-het-zelf-projecten met een checklist:

Init (Systeem- en netwerkbeheer) — u moet het Debian-besturingssysteem op de virtuele machine installeren en configureren volgens de vereisten die in de taak zijn gespecificeerd.

Libft — standaard bibliotheekfuncties implementeren in C-taal, zoals: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower enz. Geen bibliotheken van derden, doe het zelf. Je schrijft zelf de headers, implementeert ze zelf, maakt ze zelf Makefile, je compileert het zelf.

printf — het is noodzakelijk om de standaardfunctie volledig te implementeren printf met al zijn argumenten in C. Het is behoorlijk moeilijk voor beginners.

Vul het - het was nodig om een ​​vierkant met de minimale oppervlakte samen te stellen uit de lijst met tetromino's die als invoer werd geleverd. Bij elke nieuwe stap werd een nieuwe tetromino toegevoegd. De taak wordt gecompliceerd door het feit dat de berekeningen in C en in een minimale hoeveelheid tijd moesten worden uitgevoerd.

Libls — implementeer uw eigen versie van de opdracht ls met al zijn standaardvlaggen. Je kunt en moet gebruik maken van ontwikkelingen uit eerdere opdrachten.

biezen

Naast taken die alleen worden uitgevoerd, is er een aparte categorie taken die door een groep studenten worden uitgevoerd: rushes. In tegenstelling tot onafhankelijke projecten wordt de haast niet gecontroleerd door leerlingen aan de hand van een checklist, maar door schoolpersoneel van Bokal.

pijpex — het programma accepteert bestandsnamen en willekeurige shell-opdrachten als invoer; de student moet aantonen dat hij in staat is om met pipelines op systeemniveau te werken en functionaliteit te implementeren die identiek is aan het standaardgedrag van het systeem in de terminal.

Minipraat — een client-servertoepassing in C implementeren. De server moet het werken met meerdere clients kunnen ondersteunen en berichten kunnen afdrukken die door de client zijn verzonden met behulp van de SIGUSR1- en SIGUSR2-systeemsignalen.

Bevroren — schrijf een IRC-server in Golang die in staat is om met meerdere clients tegelijk te werken, met behulp van concurrency en goroutines. De klant moet kunnen inloggen met een login en wachtwoord. De IRC-server moet meerdere kanalen ondersteunen.

Conclusie

Iedereen kan zich inschrijven voor School 42 en daarvoor heb je geen speciale kennis nodig. Ondanks het feit dat het programma is ontworpen voor beginners, worden eenvoudige taken snel vervangen door niet-triviale problemen, vaak met onduidelijke formuleringen. Van de student wordt een maximale toewijding vereist, het vermogen om te zoeken naar ontbrekende informatie in officiële documentatie in het Engels en om samen te werken met andere studenten om opdrachten te voltooien. Het opleidingsprogramma kent geen strikte volgorde, waardoor iedereen zijn eigen ontwikkelingstraject kiest. Door het ontbreken van end-to-end beoordelingen kunt u zich concentreren op uw voortgang en ontwikkeling, in plaats van uzelf met anderen te vergelijken.

Bron: www.habr.com

Voeg een reactie