В
Nie ma nauczycieli, jest internet i przyjaciele. Edukacja w szkole opiera się na zasadach wspólnej pracy projektowej – peer-to-peer learning. Studenci nie studiują żadnych podręczników, nie prowadzą wykładów. Organizatorzy szkoły wierzą, że wszystko można znaleźć w Internecie, zapytać znajomych lub bardziej doświadczonych uczniów, z którymi pracuje się nad projektem.
Wykonane zadania są sprawdzane 3-4 razy przez innych uczniów, dzięki czemu każdy może być zarówno uczniem, jak i mentorem. Nie ma też ocen - wystarczy poprawnie i całkowicie wykonać zadanie. Nawet jeśli uda się to w 90%, będzie to policzone jako porażka.
Nie ma ocen, są punkty. Aby zgłosić projekt do recenzji należy posiadać określoną liczbę punktów – punktów poprawkowych. Punkty zdobywa się sprawdzając prace domowe innych uczniów. A to jest dodatkowy czynnik rozwoju – bo trzeba rozumieć różnorodne zadania, czasem przekraczające Twój poziom wiedzy.
„Niektóre projekty to prawdziwa przestrzeń, robią wrażenie. A potem, żeby zdobyć chociaż jeden punkt poprawkowy, trzeba się pocić cały dzień, żeby zrozumieć kod. Któregoś dnia miałem szczęście i w ciągu jednego dnia zdobyłem aż 4 punkty – to rzadki przypadek.”, mówi mój przyjaciel, student Siergiej.
Siedzenie w kącie nie pomoże. Projekty realizujemy indywidualnie i w parach, a także w większych grupach. Są oni zawsze chronieni osobiście i ważne jest, aby wszyscy członkowie grupy brali czynny udział, a także aby każdy rozumiał kodeks i był wysoce zmotywowany. Nie da się tu milczeć i siedzieć z boku. Szkoła doskonali w ten sposób umiejętności pracy w grupie i skutecznej komunikacji. Poza tym wszyscy uczniowie poznają się i komunikują ze sobą, co jest bardzo przydatne do nawiązywania kontaktów i przyszłej kariery zawodowej.
Grywalizacja. Podobnie jak w grze komputerowej, uczniowie przechodzą kolejne poziomy i śledzą swoje postępy za pomocą Świętego Wykresu – „świętej” mapy, która wyraźnie pokazuje całą przebytą przez nich ścieżkę i ścieżkę przed nią. Podobnie jak w RPG, za projekty przyznawane jest „doświadczenie”, a po zgromadzeniu jego określonej ilości następuje przejście na nowy poziom. Podobieństwo do prawdziwej gry polega na tym, że każdy nowy poziom jest trudniejszy od poprzedniego i jest coraz więcej zadań.
Glass i Adm. W szkole działają dwa główne działy - Bokal (technicy) i Adm (administracja). Bokal zajmuje się kwestiami technicznymi i częścią pedagogiczną, natomiast Adm zajmuje się kwestiami administracyjno-organizacyjnymi. Rezerwę kadrową Bokala/Adm uzupełniają sami studenci, którzy odbywają praktyki w Szkole.
Jak i czego się tutaj uczy
Wszystko zaczyna się na „S”. W szkole używają wyłącznie Uniksa, uznając, że Windows nie jest najlepszym wyborem. Kodu uczymy od podstaw, zmuszając do zrozumienia samej logiki programowania. Pierwsze kilka poziomów wszystkich projektów jest wykonywanych wyłącznie w językach C i C++, nie używa się IDE. Uczniowie korzystają z kompilatora gcc i edytora tekstu vim.
„Na innych kursach podadzą ci funkcje, poproszą o wykonanie projektu i dopiero potem wyjaśnią, jak są programowane. Tutaj nie możesz użyć tej funkcji, dopóki sam jej nie napiszesz. Na początku, będąc jeszcze w „puli”, nie rozumiałem, po co mi ten malloc, dlaczego muszę sam przydzielać pamięć, dlaczego nie uczę się Pythona i JavaScriptu. A potem nagle wszystko do ciebie dociera i zaczynasz rozumieć, jak myśli komputer.
Norminuj. Po pomyślnym zabezpieczeniu wszystkie projekty trafiają do lokalnego odpowiednika GitHuba. Ale wcześniej należy je sprawdzić, aby upewnić się, że kod jest zgodny z przepisami szkolnymi korzystającymi z programu Norminette.
„Jeśli kod działa idealnie, ale występuje wyciek pamięci, projekt uznaje się za porażkę. Sprawdzają także składnię. Mamy listę zabronionych funkcji, atrybutów, flag, a ich użycie jest uznawane za oszustwo. Wszystko trzeba robić własnymi rękami i bardzo ostrożnie.”– mówi Siergiej.
Przykłady zadań
Wszystkie zadania wykonane przez studentów sprawdzane są na trzy sposoby: programowo, według listy kontrolnej sporządzonej przez innych studentów i przedstawicieli Glassa. Poniżej znajdują się projekty typu „zrób to sam” wraz z listą kontrolną:
Init (Administracja systemem i siecią) — należy zainstalować system operacyjny Debian na maszynie wirtualnej i skonfigurować go zgodnie z wymaganiami określonymi w zadaniu.
Libft — implementuj standardowe funkcje biblioteczne w języku C, takie jak: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower
itp. Żadnych bibliotek stron trzecich, zrób to sam. Sam piszesz nagłówki, sam je implementujesz, sam je tworzysz Makefile
, kompilujesz go sam.
Drukuj — konieczne jest pełne wdrożenie funkcji standardowej printf
ze wszystkimi argumentami w C. Jest to dość trudne dla początkujących.
Wypełnij to - konieczne było złożenie kwadratu o minimalnej powierzchni z listy tetromino dostarczonej jako dane wejściowe. Na każdym nowym etapie dodawano nowe tetromino. Zadanie komplikuje fakt, że obliczenia trzeba było wykonać w C i w jak najkrótszym czasie.
Biblioteki — zaimplementuj własną wersję polecenia ls
ze wszystkimi standardowymi flagami. Możesz i powinieneś korzystać z rozwiązań z poprzednich zadań.
sitowie
Oprócz zadań realizowanych samodzielnie istnieje osobna kategoria zadań realizowanych przez grupę uczniów – szuwary. W przeciwieństwie do niezależnych projektów, pośpiech sprawdzają nie uczniowie za pomocą listy kontrolnej, ale pracownicy szkoły z Bokal.
Pipex — program jako dane wejściowe przyjmuje nazwy plików i dowolne polecenia powłoki, student musi wykazać się umiejętnością pracy z potokami na poziomie systemu i zaimplementowania funkcjonalności identycznej ze standardowym zachowaniem systemu w terminalu.
Minitalk — zaimplementować aplikację klient-serwer w języku C. Serwer musi obsługiwać pracę z wieloma klientami i drukować wiadomości wysyłane przez klienta za pomocą sygnałów systemowych SIGUSR1 i SIGUSR2.
Mrożony — napisz serwer IRC w Golangu, który będzie w stanie pracować z kilkoma klientami jednocześnie, wykorzystując współbieżność i goroutines. Klient musi mieć możliwość zalogowania się przy użyciu loginu i hasła. Serwer IRC musi obsługiwać wiele kanałów.
wniosek
Do Szkoły 42 może zapisać się każdy i nie jest do tego potrzebna żadna specjalna wiedza. Pomimo tego, że program przeznaczony jest dla początkujących, proste zadania szybko zostają zastąpione nietrywialnymi problemami, często o niejasnych sformułowaniach. Od studenta wymagane jest maksymalne zaangażowanie, umiejętność wyszukiwania brakujących informacji w oficjalnej dokumentacji w języku angielskim oraz współpraca z innymi studentami w celu wykonania zadań. Program szkolenia nie ma ścisłej kolejności, dlatego każdy wybiera własną ścieżkę rozwoju. Brak kompleksowych ocen pozwala skoncentrować się na postępach i rozwoju, zamiast porównywać się z innymi.
Źródło: www.habr.com