Vitajte, Habrani!
V tomto článku chcem porozprávať o svojej skúsenosti s učením programovania v C++ na vysokej škole technického univerzity. Bola to jedinečná skúsenosť v mojom živote, ktorá ma veľa naučila. Keď sa hovorí o zaujímavých faktoch z osobnej minulosti, tento úryvok zo života mi prichádza na myseľ ako jeden z prvých.
Ideme na to.
Na začiatok niečo o sebe.
V roku 2016 som absolvoval vysokú školu s červeným diplomom v odbore 'Informačná bezpečnosť automatizovaných systémov'. Počas štúdia som viackrát dokázal realizovať svoj potenciál pri písaní vedeckých článkov, účasti na súťažiach a získavaní grantov. V roku 2015 som sa stal víťazom celoslovenskej súťaže mladých vedcov 'UMNIK'. V roku 2016, ešte pred ukončením štúdia, som už bol zamestnaný vo veľkej organizácii v meste na pozícii 'Špecialista na informačnú bezpečnosť, kryptografiu a šifrovanie'.
V skratke, takto nejako. Dalo by sa povedať, že o programovaní som mal, predsa len, predstavu.
A tu je rok 2017. Postgraduálne štúdium. Požiadali ma, aby som počas semestra učil C++ na vysokej škole, za čo mi sľúbili dobré bonusy na zmiernenie bremena postgraduálneho štúdia a viac nič.
Úprimne, bol som naozaj veľmi zvedavý vyskúšať sa v tejto úlohe.
Prvá hodina
September. Prvý školský týždeň. Prišli ku mne študenti. 'Najneposlušnejšia skupina' — tak ich volali.
23 ľudí. 'Programátori'.
Ako je zvykom, na začiatok som sa predstavil. Stručne som im opísal obsah časti 'Na začiatok niečo o sebe'…
Potom sa začalo niečo strašné. Na otázku 'Čo viete?' študenti (odteraz ich budeme takto nazývať) odpovedali, že vedia len o niečo viac, než úplne nič (no to znamenalo, že niektorí z nich vedeli, ako vyzerá MS VS a dokázali vytvoriť projekt 'Hello world')… Programátori. Posledný ročník…
Potom podrobne, 'v detailoch' vysvetlili, že ich vôbec nič neučili a že sú sklamaní z programovania...
Takmer všetky dni pred ďalšou výučbovou hodinou prešli takto:

… ale deň pred ňou sa objavila myšlienka zamyslieť sa nad nápravou zapletenej situácie v mysliach a vedomí tejto mládeže. A vtedy 'Ostapa vzalo'.
Úvod do programovania
Na ďalšiu hodinu som priniesol… skladačku.
Áno, áno. Puzzle. „Ako skrotiť draka“. Pravidlá boli jednoduché. Skupina bola rozdelená do 3 tímov. Každý tím zostavoval svoju časť. Niektorí — les, iní — zem, tretí — draka v strede obrázka. Kým poskladali puzzle, rozprával som, že súbor puzzle je tiež programovanie, že programátori často používajú cudzí kód, že v každom projekte sú rôzne tímy, funkcie, moduly…
Postupne sa do procesu zapojili aj najlenivejší študenti.
Keď som skončil sťahovaním o myšlienke programovania v konceptoch podnikania, procesov a… puzzle, bolo načase stanoviť pravidlá učenia.
Na každú hodinu mal každý študent napísať do zošita 10 termínov z IT. Akýchkoľvek. Každý má svoje. Zmysel je v tom, že som zobral zošit jedného študenta, našiel medzi všetkými termínmi najviac praktické a pýtal som sa na ne iného študenta. Keď iný študent povie „Tento termín som si nezapísal“, nebolo to trestané (vzhľadom na zdravý rozum), ale ten študent mal napísať „chýbajúce“ termíny (ako aj všetci, ktorí ich nemali) a nájsť ich významy na ďalšiu hodinu.
Tak sme to robili. Každá hodina sa začínala s akýmisi náhodnými dvoma-tri študentmi. Chlapci mali odhodlanie k tomuto procesu.
Témy hodín
Pri začatí učenia je veľmi dôležité poskytnúť študentom dobrú literatúru. Podľa môjho názoru bola ideálnym pomocníkom kniha:

Raz som ju musel potichu prečítať v objatí s Microsoft Visual Studio. Vtedy sa mi podarilo pochopiť programovanie takmer od nuly. Ideálny variant.
Skromne prídete k študentom a poviete: „Aby ste sa stali programátormi, musíte len prečítať a vyskúšať všetko, čo je v tejto knihe“, a hodíte knihu na stôl. Hlavné — nezamieňať knihy vo svojom batohu…
Pred každou témou som sa, samozrejme, musel dôkladne pripraviť. Čítal som toho istého Lafore a ešte niekoľko zaujímavých zdrojov z internetu.
Musel som vysvetľovať takmer od základov. A navyše bolo potrebné deduktívne pochopiť, kde majú študenti medzery vo svojich základných znalostiach.
Polia -> Práca s pamäťou (konstruktory) -> Odkazy -> Ako funguje pamäť -> Ukladanie -> Čo je fyzické ukladanie -> Dvojková reprezentácia údajov…

Veľmi zložitý test znalostí základných faktov o programovaní. Už nie som programátor, som historik!
A teda sa konajú historické bitky niekoľko kôl po sebe. Raz k nám zavíta do kancelárie tajomník z katedry a keď uvidí skupinu, vyvalí oči, pozorne sa pozerá a zatvorí dvere. Ako mi neskôr povedali, bola v šoku, že TÁTO skupina sedela tak ticho a tak pozorne ma počúvala… Tý, to je jednoduché.
Laboratórne práce
Prvé aplikované údaje — prvé "laboratórky". Počas semestra skupina odovzdala 10 laboratórnych prác. V prvých robili najjednoduchšie konzolové a+b, a v posledných písali, síce konzolové, ale dosť zaujímavé aplikácie, ako napríklad výpočet hodnoty integrálu niektorej náhodne danej funkcie jednou z troch metód — asi takéto úlohy boli aj na záverečnej certifikácii — v rámci semestrálnej práce.
Prístup k prijatiu nie bol bežný. Počas celej štúdie na univerzite som sa stretával s tým, že byť múdry a vedieť robiť záverečné práce — to nie je to isté. To ma zásadne neuspokojovalo.
— Chlapci, rozmýšľal som. Poďme vybudovať "pojmovo" vzťahy. Kto z vás si myslí, že programovanie nepotrebuje — dvere sú tam. Učím vás zadarmo. Chcem vidieť tu len zvedavých, nezainteresovaných a nadšených ľudí. Všetkých ostatných prosím, aby neplytvali naším spoločným časom — vyslovil som v prvý deň odovzdávania laboratórnych prác. Po tomto 5 ľudí hneď prestalo navštevovať hodiny. To bolo logické a očakávané. S ostatnými sa pokúsiť urobiť niečo zrozumiteľné bolo možné.
— … nezaujíma ma, ako vám niekto urobil prácu, len aby ste to odovzdali. Môžete byť nie programátormi, ale ľuďmi na mojich hodinách musíte byť teda.
Vyzeralo to takto:
case výborný študentPosadí sa ku mne študent na odovzdanie práce.
— Robil si to sám?
— Áno.
— Čo je toto?
— *odpovedá správne*.
*Pýtam sa ešte na pár momentov. Odpovedá správne*
— prijaté. Výborne.
case rozprávač — Robil si to sám?
— Áno.
— Čo je toto?
— *odpovedá NESPRÁVNE / neodpovedá*.
*Pýtam sa ešte na pár momentov. Ten istý výsledok*
— NIE prijaté. NEUSPÊCH. Čakám na opravný termín.
case dobrý študent — Robil si to sám?
— Áno.
— Čo je toto?
— *odpovedá správne, ale nie istotne, váha*.
*Pýtam sa ešte na pár momentov. Ten istý výsledok*
— prijaté. Dobre.
case priemerný trojkáč — Robil si to sám?
— Nie.
— Prečo?
— Ťažké. Pomáhal mi… *úprimne uvádza študenta-excelentistu zo skupiny*
— Rozumel si?
— Áno, takmer všetko som pochopil.
— Čo je toto?
— *odpovedá správne*.
*Pýtam sa ešte na pár vecí. Odpovedá viac-menej správne, niekedy úplne mimo, aj keď je to 50 na 50 správnych a nesprávnych odpovedí.*
— prijaté. Dobre.
Ostatné prípady nemá zmysel opisovať. Áno, „dobrý študent“ môže byť nespokojný, že „trojkář“ dostáva rovnaké hodnotenie, vychádzajúc zo svojej poctivosti. Tu už záleží na nálade. Buď požiadam „dobrého študenta“, aby sa pozrel na podlahu, lebo „teraz sa dopustím kvapky múdrosti“, a potom vysvetlím podstatu prístupu, opíšem, čo má v živote väčšiu hodnotu a objasním, že „trojkárovi“ bolo oveľa ťažšie zložiť, ako jemu, „dobrému študentovi“, atď…
… alebo, ako kedysi, môj profesor nakreslím malý zub do bunky žurnálu oproti tomu nespokojnému a nabudúce osobne pre neho doplním laboratórnu prácu. Len tak. Aby ne„hasili“ svojich kamarátov.

Hodnotenia
Všeobecný proces, rovnako ako celý svet, doslova tonie v cenníkoch a hodnoteniach.
Študenti sú tiež ľudia, avšak „rámce“, podľa mňa, bolo potrebné „otrasť“ aj tu.
Počas semestra bola všetkým zadaná bonusová úloha. Zaregistrovať sa na , nahrať tam prázdny projekt v C++, urobiť 2 aktualizácie, zakomitovať ich a pushnúť. Za tieto úkony bolo stanovených 15 bodov. Áno, nie 4, nie 5, ale 15. Traja to pochopili. Psychológia študenta bola pochopiteľná, avšak neskôr bol iný prípad.
Raz bola naša hodina presunutá tak, že sa stala poslednou, a ešte cez prestávku. Napriek tomu prišlo 15 ľudí. Vysvetľovať novú tému na počesť takého hrdinstva sa mi nechcelo, pretože sme už dosť dobre postúpili + nasledujúca téma bola dosť zložitá pre unavené mozgy (moje a študentov). Tak som sa rozhodol porozprávať o filozofii.
— Vyhlasujem atrakciu nevídanej štědrosti. Všetci mi hovoria, akú známku mu dať za dnešnú hodinu.
Všetci chceli „päťku“.
— Považujte, už je, — povedal som. Všetci sa potešili.
Ticho.
— a prečo nikto nechcel 7-ku alebo 10-ku?
Všetci vytreštili oči a začali hlúpo sa usmievať.
— A vy to skutočne dáte? Do žurnálu?! — ozval sa hlas zo zadnej lavice.
— Ale jasné! — povedal som, — vyhlasujem bleskového testu na termíny, kto odpovie na 10 mojich otázok — dám 20-ku do žurnálu, bez podvádzania, kto neodpovie — tomu -10 (mínus desať).
Tím sa oživil, začala sa polemika, všetci mali zaslúžené hodnotenia. Dvaja sa prihlásili. S menšími nepresnosťami striedavo zodpovedali na 10 otázok o zásobníkoch, frontoch, konštruktoroch, deštruktoroch, garbage collectorech, enkapsulácii, polymorfizme, hashovacích funkciách…
Každému bol nakreslený do denníka 20-ka… ale význam denníka a hodnotení klesol v očiach každého. Teraz ľutujem, že som sa neopýtal, či by sa nechceli „podeliť“ o svoje hodnotenie s niekým. Mám pocit, že by sa podelili… Od tejto chvíle každý odovzdával „prácu“ poznatkami a čestnosťou.
Od tohto momentu sa objavil ešte jeden typ odovzdávania laboratória:
case čestneNieJehoAleOnSaSnažil — Robil si to sám?
— Nie.
— Prečo?
— Ťažké. Pomáhal mi… *úprimne uvádza študenta-excelentistu zo skupiny*
— Rozumel si?
— Sergej Nikolaevič, úprimne — ničomu nerozumiem, sám som si napísal komentáre vedľa každej riadku — nie je to moje, budem traktoristom
— Čo je toto?
— *číta komentár vedľa riadku*.
— …
— …
— Čím sa líši Belarus MTZ od Don 500 a od K700?
— ??!.. Prvý — kolesový traktor minskej výroby, často používaný na ľahké a stredné typy poľnohospodárskej výroby. Má vpredu malé a vzadu veľké kolesá. Don 500 — to je v podstate zberný stroj, a K-700 „Kirovec“ — sovietsky kolesový traktor univerzálneho použitia s vysokou priechodnosťou, ťahový trieda 5.
— prijaté. Dobre (!!!).
— Ďakujem, Sergej Nikolaevič!!!
Na mojej rodnej zemi je porozprávať sa o traktoreA — to je takmer ako tu o SOLID.
Géniusz
Mal som v skupine Géniusa. Študent sa od prvej hodiny výrazne oneskoril a nezapojil sa do zbierania toho puzzla so všetkými. Potom som ho požiadal, aby spravil to, čo som pre všetkých plánoval na nasledujúcu hodinu — napísať na papier o sebe, čo ho zaujíma, čím sa zaoberá. Na výsledkoch mal „Géniusz“ 2-3 riadky: niečo ako „poznávam márnosť bytia“…
… Ó, Bože, mám v skupine v jednej osobe zároveň druhého Lao-c’ a Kojimu …

K môjmu prekvapeniu počas prvých dvoch hodín skutočne skvele odpovedal na otázky o termínoch, avšak efekt netrval dlho. „Géniusz“ prestal navštevovať hodiny a nabudúce prišiel len na odovzdanie prvej laboratórnej práce, ktorú úspešne nesplnil z objektívnych dôvodov. Potom mu z dôvodu absencií prirodzene narastli dlhy, ktoré, ako si myslel, ja som mu proste musel uznať, tak povediac, „bratsky“.
Nehodiace na hodiny a prehnané ego odporovalo ustanoveným zásadám mojej účasti na hodinách. U „Génia“ boli len dve možnosti — rehabilitovať sa (očakávaná cesta) alebo ignorovať hodiny a dúfať v „trojku“, ktorú pridelí dekantát, aby sa zbavili lenivca.
No to je predsa „Génius“… tu je potrebné konať „geniálne“. Tento mladý muž nenašiel nič lepšie, ako napísať v spoločnej diskusii na VK (kde som bol ja a všetci študenti tejto skupiny) rozhorčenú tirádu s nadávkami a urážkami na moju adresu.
Hm... Sklamanie.
Najviac ma prekvapilo, že pred ukončením procesu trestnej operácie zo strany vedenia školy sa rozhodol ospravedlniť sa mi. Za čo? — úprimne mi to nie je jasné. V tom okamihu som bol už dávno nezávislý od kritiky, najmä takej, otvorene, hlúpej. Moja osobnosť nebola dotknutá, ale procesy — to sú procesy, ako učiteľ som nemohol neinformovať o tom. Ako sa ukázalo, za čas štúdia sa na neho už nazbieralo toľko sťažností, že tento prípad bol posledný. Bol vylúčený. Z posledného ročníka strednej školy.
Možno už dávno sleduje mňa cez puškohľad snajpera, ale mne je, úprimne, jedno.
Ach, genialita, si bezcitná...
Epilog
Osobne pre mňa bola skúsenosť s vyučovaním jednou z najpoučnejších. Pomohlo mi to upevniť základné znalosti programovania po štúdiu na univerzite. Cítil som sa iste v zvolenej špecializácii (spektrum dostupných špecializácií). Osobitne dôležité je, že „najneposlušnejšia skupina“ si k mne vybudovala rešpekt a priateľstvo — to má veľkú hodnotu. Podarilo sa mi nájsť cestu k ich vnútorným novátorom, snažil som sa vniesť realitu, a nie tieto predpísané priority. Je škoda, že sme sa nedostali k „puzzle“ v kódovaní — keď mal každý vypracovať časť kódu, a skombinovaním všetkých dielov by sme získali veľký funkčný program...
Dúfam, že raz každý z nich pocíti toto... a zatiaľ sú nižšie zhromaždené snímky s hodnoteniami niekoľkých študentov po 2 rokoch.

Robiť závery o úspešnosti kariéry programátora u niekoho z nich je zatiaľ predčasné, pretože väčšina tejto skupiny teraz študuje na vysokých školách. Čas ukáže.
Dúfam, že článok bol užitočný. Ďakujem za pozornosť!
Kreatívne úspechy a pozitívnu náladu, kolegovia!
Zdroj: habr.com
