Pozdrav svima, Habravljani!
U ovom članku želim podijeliti svoje iskustvo rada kao učitelj programiranja u C++ na koledžu pri tehničkom sveučilištu. To je bilo jedinstveno iskustvo u mom životu koje me puno toga naučilo. Kada se radi o zanimljivim činjenicama iz osobne prošlosti — ovaj dio mog života mi pada na pamet kao jedan od prvih.
Idemo.
Prvo malo o sebi.
Godine 2016. završio sam fakultet s pohvalom na studiju "Informacijska sigurnost automatiziranih sustava". Tijekom studiranja, više puta sam imao priliku ostvariti svoj potencijal u pisanju znanstvenih radova, sudjelovanju na natjecanjima i projektima. Godine 2015. postao sam pobjednik sve-ruskog natjecanja mladih znanstvenika "UMNIK". Godine 2016. prije završetka studija zaposlio sam se u velikoj organizaciji u gradu na poziciji "Stručnjaka za informatičku sigurnost, kriptografiju i enkripciju".
Ukratko, tako je nekako. Može se zamisliti da sam o programiranju, ipak, imao neko znanje.
I evo 2017. godine. Doktorski studij. Zamolili su me da tijekom semestra predajem C++ na koledžu, za što su nudili dobre bonuse u olakšavanju tereta doktoranda i ništa više.
Iskreno, dragocjeno mi je bilo pokušati se okušati u ovom pozivu.
Prvi sat
Rujan. Prvi tjedan nastave. Moji studenti su došli. "Najneposlušnija grupa" — tako su ih zvali.
23 osobe. "Programeri".
Kao što to obično biva, prvo sam se predstavio. Suho sam im ispričao sadržaj dijela "Prvo malo o sebi"...
Nakon toga počelo je strašno. Na pitanje "Što znate?" studenti (od sada ih zovemo tako) su odgovorili da znaju nešto malo više od ničega (to je značilo da su neki od njih znali kako izgleda MS VS i mogli su napraviti projekt "Hello world")... Programeri. Završna godina...
Nakon toga su detaljno, "s bojama", objasnili da ih ništa nisu naučili i da su uopće razočarani programiranjem...
Gotovo svi dani do sljedeće nastave prošli su mi ovako:

... ali dan prije nje pojavila se ideja da uložim napor u ispravljanje situacije u umovima i svijestima ove mladosti. I tada je "Ostap počeo".
Uvod u programiranje
Na sljedeće predavanje donio sam... slagalicu.
Da, da. Puzzle. „Kako ukrotiti zmaja“. Pravila su bila jednostavna. Grupa je bila podijeljena u 3 tima. Svaki tim je slao svoj dio. Jedni su radili šumu, drugi zemlju, treći zmaja u sredini slike. Dok su cijeli sat sastavljali puzzle, pričao sam o tome što sastavljanje puzzli je također programiranje, da programeri često koriste tuđi kod, da u svakom projektu postoji nekoliko različitih timova, funkcija, modula…
Postepeno su se procesu priključili i najpasivniji studenti.
Kada sam završio objašnjavati ideju programiranja u kontekstu poslovanja, procesa i… puzzli, došlo je vrijeme da postavimo pravila učenja.
Na svakoj lekciji svaki student trebao je napisati 10 IT termina u bilježnicu. Bilo koje. Svatko svoje. Poanta je da sam uzeo bilježnicu jednog studenta, pronašao među svim terminima maksimalno primjenjive i pitao drugog studenta o njima. Kada drugi student kaže: „Nisam zapisao taj termin“, to nije bilo kažnjivo (zbog zdrave pameti), ali taj student morao je zapisati „nedostajuće“ termine (kao i svi koji ih nisu imali) i pronaći njihova značenja do sljedeće lekcije.
Tako smo i radili. Svaka lekcija započinjala je energičnim random izborom dvoje ili troje studenata. Momci su bili entuzijastični u tom procesu.
Teme lekcija
Prilikom započinjanja podučavanja vrlo je važno dati učenicima dobru literaturu. Po mom mišljenju, idealna knjiga bila je:

Jednom prilikom trebalo mi je pomalo prikradati se i čitati je u zagrljaju s Microsoft Visual Studio. Tada sam uspio razumjeti programiranje gotovo od nule. Idealna opcija.
Pojaviš se skromno pred studentima i kažeš: „Da biste postali programeri, morate pročitati i isprobati sve što je u ovoj knjizi“, i baciš knjigu na stol. Glavno je ne pomiješati knjige u svom ruksaku…
Prije svake teme, naravno, morao sam se temeljito pripremiti. Čitao sam istog Lafore-a i još nekoliko zanimljivih izvora s interneta.
Objašnjavanje je trebalo početi gotovo od osnova. Osim toga, bilo je potrebno deduktivno shvatiti gdje su studentima prekidi u osnovnim znanjima.
Nizovi -> Rad s memorijom (konstruktori) -> Reference -> Kako radi memorija -> Pohrane -> Što je fizički skladište -> Binarna reprezentacija podataka…

Veoma izazovan test znanja fundamentalnih činjenica o programiranju. Već nisam programer, ja sam - istoričar!
I tako, znači, odvijaju se istorijske bitke nekoliko parova uzastopno. Jednom nas u kabinetu poseti sekretar sa katedre i, videvši grupu, širom otvara oči, zagleda se i zatvara vrata. Kako su mi kasnije javili, bila je u šoku što je OVA grupa sedela tako tiho i pažljivo me slušala… Tj, lako.
Laboratorijske vežbe
Prvi praktični podaci - prve 'labos'. Tokom semestra grupa je predala 10 laboratorijskih radova. U prvim su radili najjednostavnije konzolne a+b, a u poslednjima su pisali, iako konzolne, ali dovoljno zanimljive aplikacije, poput izračunavanja vrednosti integrala neke proizvoljno zadate funkcije jednim od tri metoda - otprilike slični zadaci su bili na kraju ispita - kursnom radu.
Samo je pristup oceni ne bio uobičajen. Tokom celog studija na fakultetu suočavao sam se s tim da biti pametan i znati kako predati završne radove nije isto. To me je duboko frustriralo.
— Ljudi, razmišljao sam. Hajde da uspostavimo 'pojmovne' odnose. Ako neko od vas misli da mu programiranje nije potrebno - vrata su onamo. Predajem vam besplatno. Želim ovde videti samo radoznale, nezainteresovane i strastvene entuzijaste. Sve ostale molim da ne gube zajedničko vreme - rekao sam prvog dana prijema laboratorijskih radova. Nakon toga, 5 ljudi odmah je prestalo dolaziti na nastavu. To je bilo logično i očekivano. Sa onima koji su ostali moglo se pokušati nešto smisleno.
— ... nije mi interesantno da gledam kako vam je neko uradio rad, samo da prođe. Možete možda biti programeri, ali na mojim časovima morate biti ljudi.
Izgledalo je ovako:
case odličanStudentSeda kod mene student da polaže rad.
— Sam si radio?
— Da.
— Šta je ovo?
— *odgovara tačno*.
*Pitam još par stvari. Odgovara tačno*
— prihvaćeno. Odlično.
case pričač — Sam si radio?
— Da.
— Šta je ovo?
— *odgovara NEtačno / ne odgovara*.
*Pitam još par stvari. Isti rezultat*
— NE prihvaćeno. NEUSPEH. Čekam na popravni.
case dobarStudent — Sam si radio?
— Da.
— Šta je ovo?
— *odgovara tačno, ali neodređeno, zbunjuje se*.
*Pitam još par stvari. Isti rezultat*
— prihvaćeno. Dobro.
case prosečanStudent — Sam si radio?
— Ne.
— Zašto?
— Teško. Pomoć mi je dala… *iskreno navodi studenta odlično iz grupe*
— Jesi li se snašao?
— Da, gotovo sve sam razumio.
— Šta je ovo?
— *odgovara tačno*.
*Pitam još par stvari. Odgovara manje-više točno, ponekad potpuno krivo, i to čak na 50 posto točnih i netočnih pitanja*
— prihvaćeno. Dobro.
Nema smisla opisivati sve ostale slučajeve. Da, 'dobri učenik' može biti nezadovoljan što 'prolaznik' dobiva istu ocjenu, i to zahvaljujući poštenju. Tada sve ovisi o raspoloženju. Ili zamolim 'dobrog učenika' da pogleda na pod, jer 'sada ću mu dati ščep mudrosti', a zatim objašnjavam bit pristupa, opisujem što u životu ima veću vrijednost i objašnjavam da je 'prolazniku' bilo znatno teže položiti nego njemu, 'dobrom učeniku', itd...
... ili, kao što je nekada moj profesor, nacrtam mali zub u bilježnici nasuprot tom nezadovoljnom i sljedeći put osobno ću mu dopuniti laboratorijski rad. Tek tako. Da ne 'gušim' svoje kolege.

Ocjene
Obrazovni proces, kao i cijeli svijet, doslovno je potopljen u cijenama i ocjenama.
Studenti su također ljudi, međutim, 'okvire', po mom mišljenju, trebali bismo 'uzdrmati' i ovdje.
Tijekom semestra svima je dano bonus zadatak. Registrirati se na , uploadati prazan projekt na C++, napraviti 2 ažuriranja, committati ih i pushati. Za ove akcije bila su dodijeljena 15 bodova. Da, da, ne 4, ne 5, nego 15. Trojica su se snašli. Tipe studenta to je bilo još nekako razumljivo, ali onda je došao drugi slučaj.
Jednom prilikom naš je sat pomaknut tako da je postao zadnji, a još se i odvio kroz prozor. Ipak, na njega je došlo 15 osoba. Objašnjavati novu temu zbog takvog heroizma mi nije bilo drago, jer smo po temama već dostatno napredovali + sljedeća tema nije bila previše jednostavna za umorne mozgove (moje i učenika). Tada sam odlučio razgovarati o filozofiji.
— Objavljujem atrakciju neviđene velikodušnosti. Svi me pitaju koju ocjenu da mu dam za današnji sat.
Svi su htjeli 'peticu'.
— Smatrate da već ima, — rekoh. Svi su se obradovali.
Tišina.
— A zašto nitko nije želio 7-ku ili 10-ku?
Svi su ispustili oči i počeli glupo se smiješiti.
— A hoćete li staviti? U bilježnicu?! — čuo se glas s posljednje klupe.
— Da lako! — rekoh, — objavljujem blitz o terminima, tko odgovori na 10 mojih pitanja — dobiva 20 bodova u bilježnici, bez prevare, onaj tko ne odgovori — dobiće -10 (minus deset).
„Tim je oživio, počela je rasprava“, svi su imali zaslužene ocjene. Dvojica su se javila. S nekim netočnostima redom su odgovorili na 10 pitanja o stogu, redu, konstruktoru, destruktoru, sakupljaču smeća, enkapsulaciji, polimorfizmu, hash funkcijama…
Svima je u dnevniku nacrtano 20-tka… ali važnost dnevnika i ocjena pala je u očima svakoga. Sada žalim što nisam pitao žele li podijeliti svoju ocjenu s nekim. Čini mi se da bi podijelili… Od sada je svatko predavao „lab“ znanjem i poštenjem.
Od tog trenutka pojavila se još jedna vrsta predavanja labaratorije:
slučaj poštenoNijeNjegovAliOnJePokušao — Sam si radio?
— Ne.
— Zašto?
— Teško. Pomoć mi je dala… *iskreno navodi studenta odlično iz grupe*
— Jesi li se snašao?
— Sergej Nikolaeviču, iskreno — ništa ne razumijem, sam sam komentare napisao pored svake rečenice — nije to za mene, ja ću biti traktorist
— Šta je ovo?
— *čita komentar pored rečenice*.
— …
— …
— Čime se razlikuje Belarus MTZ od Don 500 i od K700?
— ??!.. Prvi je kotačni traktor minskog proizvodnje, često korišten u laganim i srednjim tipovima poljoprivredne proizvodnje. Ima prednje male, a stražnje velike kotače. Don 500 je uglavnom kombajn za žetvu, a K-700 „Kirovec“ je sovjetski kotačni traktor opće namjene s povećanom prohodnošću, vučni razred 5.
— prihvaćeno. Dobro (!!!).
— Hvala, Sergej Nikolaeviču!!!
U mojoj domovini razgovarati o traktorima — to je gotovo kao ovdje o SOLID-u.
Genije
Imao sam u grupi Genija. Student koji je kasnio s prve nastave i nije se pridružio svima u sklapanju tog puzzla. Tada sam ga zamolio da napravi ono što su svi planirali za sljedeći sat — napisati na papiru o sebi, čime se bavi, što ga zanima. Po rezultatima „Genije“ je imao 2-3 rečenice: nešto poput „iskusit ću besmisao postojanja“…
… O, Bože, u mojoj grupi u jednoj osobi su istovremeno drugi Lao Ce i Kojima …

Na moje iznenađenje, na prva dva sata doista je sjajno odgovarao na pitanja o terminima, no učinak nije dugo trajao. „Genij“ je prestao dolaziti na nastavu i sljedeći put je došao samo na polaganje prve laboratorijske vježbe, koju je uspješno nije položio iz objektivnih razloga. Potom su mu se zbog izostanaka prirodno nakupili dugovi, koje je, kako je smatrao, ja jednostavno bio dužan priznati, da tako kažem, „bratski“..
Neprisustvovanje nastavi i pretjerano samopouzdanje bilo je u suprotnosti s utvrđenim principima pohađanja mojih predavanja. „Genije“ je imao samo 2 izlaza iz situacije — rehabilitirati se (očekivani put) ili ignorirati nastavu i nadati se „trojci“ koju će postaviti dekanat, kako bi se oslobodio lijenčine.
Pa to je „Genije“… ovdje se treba ponašati „genijalno“. Ovaj mladić nije našao ništa bolje nego napisati u zajedničkom dijalogu na VK (gdje sam bio ja i svi studenti te grupe) bijesnu tiradu s uvredama i psovkama na moj račun.
Eh... razočaranje.
Najviše me iznenadilo što se, prije završetka kaznenog procesa od strane uprave koledža, odlučio ispričati pred mnom. Zašto? — iskreno mi nije jasno. U to vrijeme, već sam odavno bio neovisan o kritikama, posebno takvima, otvoreno, glupima. Moja ličnost nije bila pogođena, ali procesi — tu su procesi, kao učitelj nisam mogao ne prijaviti to. Kako se ispostavilo, tokom studija, akumuliralo se toliko pritužbi protiv njega da je ovaj slučaj bio posljednji. Isključen je. Iz posljednjeg razreda strukovne škole koledža.
Možda me već dugo posmatra kroz puškoskop, ali, iskreno, svejedno mi je.
Ah, genijalnosti, bezdušna si...
Epilog
Osobno, iskustvo podučavanja bilo je jedno od najpoučnijih. Pomoglo mi je da učvrstim temeljna znanja o programiranju nakon studija na fakultetu. Osjetio sam sigurnost u izabranom zanimanju (spektrum dostupnih zanimanja). Posebnu važnost ima to što je „najneposlušnija grupa“ stekla poštovanje i prijateljstvo prema meni — to ima svoju vrijednost. Uspio sam pronaći put do njihovih unutarnjih inovatora, trudio se prenijeti stvarnost, a ne te šablonske prioritete. Šteta što nismo došli do „puzzle“ u kodiranju — kada bi svatko trebao napraviti dio koda, a spajajući sve dijelove u jedan, dobili bismo veliki radni program...
Nadam se da će kad-tad svaki od njih osjetiti to... a za sada su u nastavku prikupljeni screenshotovi s povratnim informacijama nekoliko studenata dvije godine kasnije.

Preuranjeno je donositi zaključke o uspješnosti karijere programera kod nekoga od njih, jer sada veći dio ove grupe studira na visokom učilištu. Vrijeme će pokazati.
Nadam se da je članak bio koristan. Hvala na pažnji!
Želim vam kreativne uspjehe i pozitivno raspoloženje, kolege!
Izvor: habr.com
