Z 18 rokiv ja pracjuju mentorom v Code Club Ukraїna, i mij pidhid do navčannja zavždy buv… eksperymentaľnym. Moja ostannja grupa bula povnym provalom, i ja hoču podilytysja cym z inšymy mentoramy, ščob vony buly duže oberežnymy z metodamy nastavnyctva, jaki vony vykorystovujuť.
Ščo take Code Club
Code Club — ce mižnarodna organizacija, jaka prosuvaje kuľturu bezkoštovnogo mentorstva ta viryť u volonterśkyj obmin znannjamy dlja majbutnih pokoliń bez grošovoї vynagorody. Jak vy vže zdogadalysja z nazvy, mova jde pro programuvannja. Statystyka duže vražajuča. Vony pracjujuť u 180 kraїnah, i ščotyžnja 180 tysjač ditej navčajuťsja koduvannju bezkoštovno.
Ja potrapyv do Code Club čerez mij koledž, jakyj ne maje storinky na LinkedIn, tož ja naviť ne možu jogo poznačyty, ale vin nazyvajeťsja Čerkaśkyj deržavnyj biznes-koledž. Spočatku vin počynavsja jak filial klubu, jakyj organizovuvav grupovi zanjattja z programuvannja v koledži dlja ditej vikom 12-15 rokiv, jaki hotily vyvčaty programuvannja. Bulo kiľka filij, ale ja v osnovnomu vidpovidav za vykladannja veb-rozrobky za dopomogoju HTML/CSS/JS, a takož Python.
U svoїh peršyh 2 klasah ja buv novačkom i pracjuvav z komandoju, tomu u mene ne bulo bagato možlyvostej eksperymentuvaty z metodamy vykladannja. Zanjattja provodylysja 1 raz na tyždeń, jakščo ja ne pomyljajusja, ce bulo 1.2-godynne zanjattja, na jakomu blyźko 12 ditej pracjuvaly razom z 2-3 mentoramy nad pevnoju temoju. Zanjattja zazvyčaj počynajeťsja z peregljadu domašnih robit i publičnogo pokazu najkraščyh z nyh, zvisno, za zgodoju ditej. Potim prodovžujeťsja nevelykoju lekcijeju na novu temu tyžnja, napryklad, pro adaptyvnyj dyzajn, kontejnery čy metody CSS. Vona tryvaje 15-30 hvylyn, a naprykinci provodyťsja sesija kontrolju jakosti. Potim studenty otrymujuť praktyčni vpravy, nad jakymy vony pracjujuť do kincja sesiї za pidtrymky mentoriv.
Vidsotok zaveršennja takogo pidhodu stanovyv blyźko 60%, ščo vvažajeťsja vysokym pokaznykom dlja bezkoštovnyh kursiv koduvannja, ale ja vvažav, ščo isnuje biľš efektyvna modeľ vykladannja, jaka pidvyščyť vidsotok zaveršennja ta zalučennja studentiv. Tož ja vzjav na sebe vidpovidaľnisť odnoosibno vesty vlasnyj grupovyj onlajn-klub koduvannja ta namagatysja zrobyty navčaľnyj proces kraščym.
Navčannja na osnovi projektiv
Na moment mentorstva cijeї grupy ja vže pracjuvav inženerom-programistom povnogo cyklu blyźko pivroku. Ja počav pracjuvaty inženerom-programistom u vici 18 rokiv, šče pid čas navčannja v koledži. Mij pidhid do navčannja buv zdebiľšogo nathnennyj moїm vlasnym spryjnjattjam togo, jak rizni metody navčannja vplyvajuť na moju motyvaciju ta znannja. Ja zavždy nenavydiv zavdannja, osoblyvo nudni, napryklad, stvorennja poslidovnosti Fibonačči abo stvorennja skryptu dlja pidrahunku vartosti dostavky. Ščo mene spravdi zahopljuvalo, tak ce tvorča robota. Koly ty otrymuješ svobodu robyty vse, ščo hočeš, i jakisť tvogo projektu vyznačatyme rezuľtat. Taki zavdannja zmušuvaly mene bezsonnymy nočamy provodyty mozkovi šturmy, gotuvatyś, robyty iteraciї ta vrešti-rešt prezentuvaty ščoś unikaľne dlja mene.
Ja zitknuvsja z cym kiľka raziv u koledži, a potim bagato raziv na roboti. Perš niž mene pryjnjaly na robotu, ja projšov 3-misjačne stažuvannja. Odnijeju z častyn stažuvannja bulo stvorennja buď-jakogo dodatku za vlasnym bažannjam z vykorystannjam tehnologij, jaki my nikoly ne vyvčaly. Ce može zdatysja šokujučym dlja biľšosti studentiv, ale jak možna stvoryty ščoś, vykorystovujučy tehnologiju, jaku ty nikoly ne vyvčav? Zavdjaky takomu pidhodu ja vyvčyv Java za 1 misjać. React — za 2 dni, a Redux — za 1 deń. Ce vyklyk, jakyj mene duže shvyljuvav, vsi inši aspekty žyttja vidijšly na drugyj plan, koly peredi mnoju postalo take zavdannja.
Moja perša (i ostannja) grupa v projektnomu klubi koduvannja
V rezuľtati ja buv glyboko perekonanyj, ščo projektnyj pidhid — ce pravyľnyj šljah, i same tak ja otrymav nathnennja zastosuvaty jogo u svoїj grupi Code Club. Mene pryznačyly nastavnykom 15 ditej vikom vid 12 do 15 rokiv, ščob navčaty їh Python. Perše zanjattja bulo oznajomčym, ale z 15 učniv, jakyh meni doručyly, bulo lyše 11, ščo mene rozčaruvalo. Na peršomu zanjatti ja rozpoviv їm pro našu dorožnju kartu, opysav, ščo take Python, ščo z nym možna robyty, i jaka robota može buty z nym pov’jazana, i dav їm zavdannja – stvoryty vizuaľnyj roman za dopomogoju Renpy.
Renpy — ce rušij grafičnyh romaniv, napysanyj na Python. Stvorennja romanu v ńomu ne vymagaje vyvčennja Python, ale vymagaje vstanovlennja jogo u vašij systemi ta stvorennja prostyh “skryptiv” za dopomogoju movy Renpy. Ja vvažaju, ščo ce ideaľne zavdannja, ščob pokazaty učnjam možlyvosti Python. Gra Everlasting Summer, odna z najpopuljarnišyh vizuaľnyh novel u sviti, bula stvorena za dopomogoju Renpy. Na Youtube bulo bagato urokiv pro te, jak stvorjuvaty prygolomšlyvi vizuaľni romany, i naviť kiľka gotovyh projektiv na GitHub.
Lyše 5 studentiv vykonaly zavdannja, tož mij vidsotok uspišnosti vže stanovyv 30%, ščo nyžče počatkovogo orijentyru. Prote jaki napracjuvannja ja otrymav. Ja ne možu podilytysja cymy projektamy zi zrozumilyh pryčyn, ale dyvovyžna rič vidbuvajeťsja, koly vy dajete studentam tvorčyj pidhid, ščob zrobyty ščoś samostijno. Bulo 3 hlopci, jaki zrobyly duže elementarni igry, v jaki ne bulo vkladeno bagato duši. Ale bulo 2 hlopci, jaki zrobyly dijsno čudovi igry. Tam buv sjužet, tam bula reteľno pidibrana grafika, tam bula animacija i tam bula osobysta istorija. Ja vidčuv, ščo v ćomu romani vony vyslovyly svoju vlasnu boroťbu, tryvogy, svjatkuvannja ta podiї. U jakyjś moment meni zdalosja, ščo ja provodžu zanjattja z psyhologiї, a ne z programuvannja. Odnak ja znav svoju robotu i prosto perejšov do nastupnogo zavdannja, jake poljagalo u stvorenni spravžńoї gry za dopomogoju Python.
Python nadaje čudovyj instrument dlja roboty z konsollju, tomu vymoga poljagala v tomu, ščob stvoryty buď-jaku tekstovu gru na osnovi Python, vykorystovujučy movni pryjomy, jaki my vyvčyly na uroci. Na toj čas učni vže vmily pracjuvaty z cyklamy, zminnymy, konsoljamy, strukturamy danyh ta operatoramy if, čogo bulo dostatńo dlja stvorennja gry. Odnak, lyše 4 ljudyny nadislaly svoju gru. Ne zupynjajučyś na dosjagnutomu, nastupnym zavdannjam bulo stvorennja spravžńoї gry svitovogo klasu z vykorystannjam rušija Pygame.
Pygame — ce spravžnij igrovyj rušij, de vy majete koduvaty svoju gru za dopomogoju Python. Vin ne takyj skladnyj, jak Unity abo Unreal Engine, i vam ne potribno bagato dlja počatku. Vy možete počaty zi stvorennja duže prostoї 2d gry, i dlja ćogo vam ne potribni znannja fizyky. Odnak, vam potribno vytratyty deń čy dva na doslidžennja biblioteky ta čytannja dokumentaciї do neї. Bulo lito, tomu studenty maly buty viľnymy. Ja zavždy poperedžav їh i pytav, čy vony ne proty prysvjatyty prynajmni 20 godyn na tyždeń vyvčennju programuvannja. Vsi vony skazaly “tak”, ale tiľky 2 uspišno vykonaly tretje zavdannja.
Na toj moment blyźko 6 osib lyše vidviduvaly lekciї ta lyše 2 osoby vykonuvaly domašni zavdannja. Grupa vtratyla dynamiku i postupovo zupynylasja. Odnak 2 hlopci, jaki vykonaly tretje zavdannja, vse šče zajmajuťsja programuvannjam, i vony kiľka raziv podjakuvaly meni za mij pidhid do navčannja.
Riveń uspišnosti sklav lyše blyźko 15%, ščo bulo nabagato nyžče počatkovogo pokaznyka. Ja zdavsja i prypynyv svoju mentorśku dijaľnisť u Code Club.
Pastka efektu hybnogo konsensusu
Nemaje ničogo biľš rozčarovujučogo, niž buty vykladačem, čyї studenty vtračajuť interes do predmeta. Zaraz meni škoda vsih profesoriv, čyї lekciї ja propustyv, i ja dijsno zahopljujusja kožnym vykladačem, osoblyvo včyteljamy v školi.
Ja vvažaju, ščo ja potrapyv v efekt hybnogo konsensusu, pomylkovo projektujučy vlasni interesy ta zdibnosti na vsih inšyh. Je ljudy, jaki projektujuť osnovy togo, ščo osvita pracjuje dobre. Taki, jak ja i ti 2 hlopci, jaki zakinčyly mij kurs. Ale ce vymagaje vysokogo rivnja dyscypliny ta motyvaciї. Ce vymagaje inšoї himičnoї reakciї na vyklyk. Dejaki ljudy zdaduťsja odrazu pislja togo, jak otrymajuť važke zavdannja, ale dejaki buduť zlytysja i maty vnutrišnju motyvaciju, ščob vykonaty jogo.
Vysnovok
Ogljadajučyś nazad, ja vvažaju, ščo projektnyj pidhid potribno pojednuvaty zi standartnymy metodamy vykladannja, a takož davaty učnjam možlyvisť vyboru: vykonuvaty zvyčajni zavdannja čy projektni zavdannja. Projektni zavdannja čudovo pidhodjať dlja fiľtraciї vysokomotyvovanyh ljudej vid pasyvnyh sposterigačiv, ale ce ne je metoju osvity. V ideaľnomu sviti my mogly b zrobyty tak, ščob kožen motyvuvavsja vyklykom i ne zdavavsja, naviť jakščo vy ne znajete tehnologiї čy frejmvorku, z jakym pracjujete. Tomu ščo ce šljah, tomu ščo same tak ja vyznačaju ideaľnogo inženera-programista.