Як я пабываў у легендарнай Школе 42: "басейн", коцікі і інтэрнэт замест настаўнікаў. Частка 2

Як я пабываў у легендарнай Школе 42: "басейн", коцікі і інтэрнэт замест настаўнікаў. Частка 2

В мінулым пасце я пачаў аповед пра Школу 42, якая славіцца сваёй рэвалюцыйнай сістэмай навучання: там няма настаўнікаў, студэнты самі правяраюць адзін у аднаго працы, плаціць за вучобу не трэба. У гэтым пасце я падрабязней раскажу пра сістэму навучання і пра тое, якія заданні выконваюць студэнты.

Няма настаўнікаў, ёсць інтэрнэт і таварышы. Навучанне ў школе заснавана на прынцыпах сумеснай праектнай працы - peer-to-peer learning. Ніякіх падручнікаў студэнты не штудзіруюць, лекцый ім не чытаюць. Арганізатары школы лічаць, што ўсё можна знайсці ў інтэрнэце, спытаць у сяброў ці ў больш вопытных студэнтаў, з якімі вы разам працуеце над праектам.

Выкананыя заданні 3-4 разы правяраюць іншыя студэнты, такім чынам, кожны можа пабыць і вучнем, і ментарам. Ацэнак таксама няма - проста трэба выканаць задачу правільна і цалкам. Нават калі яна зроблена на 90%, гэта будзе залічана як правал.

Няма адзнак, ёсць балы. Каб выставіць праект на праверку, неабходна мець пэўную колькасць балаў - correction points. Балы зарабляюць праверкай дамашняга задання іншых вучняў. І гэта дадатковы фактар ​​росту - бо даводзіцца разбірацца ў самых розных задачах, часам праўзыходных ваш узровень ведаў.

«Некаторыя праекты - гэта сапраўдны космас, ад іх выбухае мозг. І тады, каб зарабіць усяго адзін correction point, даводзіцца пацець увесь дзень, разбіраючыся ў кодзе. Аднойчы мне павезла, і я атрымаў за дзень цэлых 4 балы - гэта рэдкая ўдача»., - Распавядае мой знаёмы, студэнт Сяргей.

Адседзецца ў куце не выйдзе. Праекты выконваюцца як у адзіночку і парамі, так і буйнейшымі групамі. Абараняюць іх заўсёды асабіста, пры гэтым важна, каб актыўны ўдзел прымалі ўсе чальцы групы, і каб кожны разумеў код і быў высока матываваны. Адмаўчацца і адсядзецца ўбаку тут не атрымоўваецца. Такім чынам, школа прапампоўвае навыкі групавой працы і паспяховай камунікацыі. А акрамя таго, усе вучні знаёмяцца і маюць зносіны сябар з сябрам, што вельмі карысна для нетворкинга і будучай кар'еры.

Гейміфікацыя. Як у кампутарнай гульні, студэнты рухаюцца ўверх па ўзроўнях і сочаць за сваімі поспехамі з дапамогай Holy Graph - «святой» карты, дзе наглядна паказаны ўвесь пройдзены і хуткі шлях. Як у RPG за праекты налічваецца "вопыт", і пасля назапашвання вызначанай яго колькасці здзяйсняецца пераход на новы ўзровень. Падабенства з сапраўднай гульнёй яшчэ і ў тым, што кожны новы ўзровень складаней папярэдняга, заданняў становіцца ўсё больш.

Як я пабываў у легендарнай Школе 42: "басейн", коцікі і інтэрнэт замест настаўнікаў. Частка 2

Келіх і Адм. У школе існуе два асноўных падраздзяленні - Бакал (тэхнары) і Адм (адміністрацыя). Бакал - займаецца тэхнічнымі пытаннямі і педагагічнай складнікам, у той час як Адм - адміністрацыйнымі і арганізацыйнымі пытаннямі. Кадравы рэзерв Бакала/Адм папаўняюцца за кошт саміх студэнтаў, якія праходзяць стажыроўку ў Школе.

Як і чаму тут вучаць

Усё пачынаецца з "З". У школе карыстаюцца выключна Unix, лічачы Windows не лепшым выбарам. Коду вучаць з самых асноў, прымушаючы спасцігаць саму логіку праграмавання. Некалькі першых узроўняў усе праекты выконваюцца толькі на мовах C і C++, IDE не прымяняюцца. Студэнты выкарыстоўваюць кампілятар gcc і тэкставы рэдактар ​​vim.

«На іншых курсах табе дадуць функцыі, папросяць выканаць праект, і толькі потым растлумачаць, як яны праграмуюцца. Тут ты не можаш карыстацца функцыяй, пакуль не напішаш яе сам. Спачатку, яшчэ ў "басейне", я не разумеў, навошта мне гэтая malloc, навошта мне самому алакаваць памяць, чаму не вывучаю Python і Javascript. А раптам потым да цябе даходзіць, і пачынаеш разумець, як думае кампутар».

Нармінэйт. Пасля паспяховай абароны ўсе праекты загружаюць у мясцовым аналогу GitHub. Але перад гэтым яны павінны прайсці праверку на адпаведнасць кода правілам школы з дапамогай праграмы Norminette.

«Калі код працуе выдатна, але ёсць уцечка памяці, то праект лічыцца праваленым. Таксама правяраюць на сінтаксіс. У нас ёсць спіс забароненых функцый, атрыбутаў, сцягоў, і іх выкарыстанне прыраўноўваецца да читерству. Ты павінен усё рабіць сваімі рукамі і вельмі акуратна», - Распавядае Сяргей.

Як я пабываў у легендарнай Школе 42: "басейн", коцікі і інтэрнэт замест настаўнікаў. Частка 2

прыклады заданняў

Усе заданні выкананыя студэнтамі правяраюцца трыма спосабамі: праграмна, па чэк-лісце іншымі студэнтамі і прадстаўнікамі Бакала. Ніжэй прыведзены некаторыя праекты, якія выконваюцца самастойна і правяраюцца па чэк-лісце:

Init (System and Network Administration) - трэба на віртуальную машыну ўсталяваць аперацыйную сістэму Debian і наладзіць яе паводле патрабаванняў, паказаным у заданні.

Libft - рэалізаваць стандартныя бібліятэчныя функцыі на мове С, такія як: strcmp, atoi, strlen, memcpy, strstr, toupper, tolower і інш. Ніякіх іншых бібліятэк, усё сваімі рукамі. Сам пішаш хедэры, сам рэалізуеш, сам ствараеш Makefile, сам кампілюеш.

Printf - неабходна цалкам імплементаваць стандартную функцыю printf з усімі яе аргументамі на мове С. Гэта даволі складана для пачаткоўцаў.

Філі - трэба было з які падаецца на ўваход спісу тэтраміна сабраць квадрат мінімальнага пляца. На кожным новым кроку дабаўляўся новы тэтрамін. Заданне ўскладняецца тым, што разлікі трэба было рабіць на C і за мінімальны час.

Libls - рэалізаваць сваю версію каманды ls з усімі яе стандартнымі сцягамі. Можна і трэба выкарыстоўваць напрацоўкі з мінулых заданняў.

чарот

Апроч заданняў, якія выконваюцца ў адзіночку, існуе асобная катэгорыя заданняў, якія выконваюцца групай студэнтаў - rushes. У адрозненні ад самастойных праектаў, rush правяраецца не студэнтамі па чэк-лісце, а супрацоўнікамі школы з Бокала.

Піпекс — праграма на ўваход прымае назвы файлаў і адвольныя shell-каманды, студэнт павінен прадэманстраваць уменне працаваць з пайпамі на сістэмным узроўні і рэалізаваць функцыянал, ідэнтычны штатным паводзінам сістэмы ў тэрмінале.

Minitalk - рэалізаваць кліент-серверны дадатак на мове C. Сервер павінен умець падтрымліваць працу з некалькімі кліентамі і выводзіць на друк перададзенае кліентам паведамленні з выкарыстаннем сістэмных сігналаў SIGUSR1 і SIGUSR2.

Замарожаныя - напісаць IRC-сервер на Golang, які здольны працаваць з некалькімі кліентамі адначасова, выкарыстоўваючы concurrency і goroutines. Кліент павінен мець магчымасць аўтарызоўвацца з дапамогай лагіна і пароля. IRC-сервер павінен падтрымліваць мноства каналаў.

Заключэнне

Паступіць у Школу 42 можа любы, і для гэтага не трэба валодаць спецыяльнымі ведамі. Нягледзячы на ​​тое, што праграма разлічана на пачаткоўцаў, простыя заданні хутка змяняюцца нетрывіяльнымі задачкамі, часта з невыразнымі фармулёўкамі. Ад студэнта патрабуецца максімальная самааддача, уменне шукаць неабходную інфармацыю ў афіцыйнай дакументацыі на англійскай мове, а таксама аб'ядноўвацца з іншымі студэнтам для выканання заданняў. Праграма навучання не мае строгай паслядоўнасці, таму кожны сам сабе выбірае шлях развіцця. Адсутнасць скразных рэйтынгаў дазваляюць сканцэнтравацца на сваім прагрэсе і развіцці, а не параўноўваць сябе з іншымі.

Крыніца: habr.com

Дадаць каментар