Ahoj, Habrovčané!
V tomto článku chci sdílet své zkušenosti s výukou programování v C++ na vysoké škole při technické univerzitě. Byla to jedinečná životní zkušenost, která mě mnohému naučila. Když se mluví o zajímavých faktech z mé minulosti, tento úryvek ze života si vzpomenu jako jeden z prvních.
Jdeme na to.
Nejprve něco málo o sobě.
V roce 2016 jsem ukončil vysokou školu s červeným diplomem v oboru „Informační bezpečnost automatizovaných systémů“. Během studia se mi několikrát podařilo realizovat svůj potenciál v psaní vědeckých článků, účasti v soutěžích a grantech. V roce 2015 jsem se stal vítězem celostátní soutěže mladých vědců „UMNIK“. V roce 2016, než jsem dokončil studium, jsem byl zaměstnán ve velké organizaci města na pozici „Specialista na informační bezpečnost, kryptografii a šifrování“.
Stručně řečeno, tak nějak to je. Dalo by se říci, že jsem měl představu o programování.
A teď je rok 2017. Doktorské studium. Požádali mě, abych po dobu semestru učil C++ na vysoké škole, za což mi slibovali dobré bonusy, které by mi usnadnily břemeno doktoranda, a nic víc.
Upřímně řečeno, byl jsem opravdu zvědavý vyzkoušet si tuto roli.
První hodina
Září. První týden školního roku. Přišli ke mně studenti. "Nejvíce neposlušná skupina" — tak je nazývali.
23 lidí. "Programátoři".
Jak je zvykem, nejprve jsem se představil. Stručně jsem jim přednesl obsah části „Nejprve něco málo o sobě“…
Pak začalo něco hrozného. Na otázku „Co umíte?“ studenti (budeme je od nynějška tak nazývat) odpověděli, že umí skoro nic (to znamenalo, že někteří z nich věděli, jak vypadá MS VS a dokázali vytvořit projekt „Hello world“)… Programátoři. Poslední ročník…
Dále podrobně, "barevně" vysvětlili, že je nic nenaučili a že jsou vůbec z programování zklamaní…
Téměř všechny dny do další lekce prošly takto:

… ale den před tím vznikl nápad vzít síly k nápravě situace v myslích a vědomích této mládeže. A pak "Ostapa neslo".
Úvod do programování
Na další lekci jsem přinesl… puzzle.
Ano, ano. Puzzle. „Jak si vycvičit draka“. Pravidla byla jednoduchá. Skupina byla rozdělena do 3 týmů. Každý tým skládal svou část. Jedni – les, druzí – zem, třetí – drak uprostřed obrázku. Dokud skládali puzzle, vyprávěl jsem, co skládání puzzle – to je také programování, že programátoři často využívají cizí kód, že v každém projektu jsou různé týmy, funkce, moduly…
Postupně se procesu zapojili i ti nejlenivější studenti.
Když jsem skončil s tím, jak vysvětlit myšlenku programování v kontextu podnikání, procesů a… puzzle, nastal čas stanovit pravidla učení.
Na každou hodinu měl každý student napsat do sešitu 10 termínů z IT. Jakýchkoli. Každý měl své. Smyslem bylo, že jsem vzal sešit jednoho studenta, našel mezi všemi termíny maximálně aplikovatelné a ptal se na ně jiného studenta. Když jiný student říkal „Tento termín jsem si nezapsal“, nebylo to trestné (z důvodu zdravého rozumu), ale ten student měl napsat „chybějící“ termíny (tak jako všichni, kteří je neměli) a najít jejich významy do další hodiny.
Tak jsme to dělali. Každá hodina začínala energickým výběrem dvou-tří studentů. Kluci měli na tento proces elán.
Témata hodin
Při zahájení výuky je velmi důležité poskytnout studentům dobrou literaturu. Podle mého názoru byla ideálním materiálem kniha:

V dobách, kdy jsem ji musel ztiše přečíst spolu s Microsoft Visual Studio, se mi podařilo pochopit programování prakticky od nuly. Ideální možnost.
Přijdeš skromně k studentům a říkáš: „Abyste se stali programátory, musíte jen přečíst a vyzkoušet všechno, co je v této knize“, a knihu hodíš na stůl. Hlavně – nezaměnit knihy ve svém batohu…
Před každým tématem jsem se samozřejmě musel důkladně připravit. Četl jsem stejného Laforeta a ještě několik zajímavých zdrojů z internetu.
Vysvětlování muselo začínat téměř od základů. Přičemž bylo nutné deduktivně zjistit, kde mají studenti mezery v základních znalostech.
Pole -> Práce s pamětí (konstruktory) -> Odkazy -> Jak funguje paměť -> Úložiště -> Co je fyzické úložiště -> Dvojkové zastoupení dat…

Velmi důkladný test znalostí základních faktů o programování. Už nejsem programátor, jsem historik!
A tak se konají historické bitvy několik párů za sebou. Jednou k nám do kabinetu zabloudila sekretářka z katedry a když viděla skupinu, vytřeštila oči, upřeně se dívá a zavírá dveře. Jak mi později řekli, byla v šoku, že TATO skupina seděla tak tiše a tak pozorně mě poslouchala… Tss, easy.
Laboratorní práce
První aplikované znalosti — první 'laby'. Během semestru skupina zvládla 10 laboratorních prací. V prvních dělali nejjednodušší konzolové a+b, a v posledních pak psali, i když konzolové, ale dost zajímavé aplikace, jako například výpočet hodnoty integrálu určité arbitrárně definované funkce jednou ze tří metod — podobné úkoly byly na závěrečné atestaci — závěrečné práci.
Jenže přístup k přejímce ne byl obvyklý. Po celou dobu studia na vysoké škole jsem se setkával s tím, že být chytrý a umět odevzdat zprávy — to není totéž. To mi zásadně nevyhovovalo.
— Kluci, přemýšlel jsem. Pojďme vytvořit "pojmové" vztahy. Kdo z vás si myslí, že programování nepotřebuje — dveře jsou tam. Učím Vás zdarma. Chci vidět tady jen zvědavé, nevlažné a zaujaté nadšence. Všechny ostatní prosím, aby netrávili společný čas — řekl jsem první den při přejímání laboratorních prací. Po tomhle 5 lidí okamžitě přestalo chodit na vyučování. To bylo logické a očekávané. S ostatními bylo možné udělat něco smysluplného.
— … nezajímá mě, jak vám někdo udělal práci, jen abyste odevzdali. Můžete být programátory, ale lidmi vám na mých hodinách být musíte.
Vypadalo to takto:
case jedničkářPřijde ke mně student odevzdat práci.
— Dělal jsi to sám?
— Ano.
— Co je tohle?
— *odpovídá správně*.
*Ptám se ještě na pár věcí. Odpovídá správně*
— přejato. Skvěle.
case kecal — Dělal jsi to sám?
— Ano.
— Co je tohle?
— *odpovídá NEsprávně / neodpovídá*.
*Ptám se ještě na pár věcí. Stejný výsledek*
— NE přijato. NEÚSPĚCH. Čekám na opravnou zkoušku.
case dobrý žák — Dělal jsi to sám?
— Ano.
— Co je tohle?
— *odpovídá správně, ale nejistě, plave*.
*Ptám se ještě na pár věcí. Stejný výsledek*
— přijato. Dobře.
case průměrný student — Dělal jsi to sám?
— Ne.
— Proč?
— Těžké. Pomáhal mi… *upřímně zmiňuje studenta jedničkáře ze skupiny*
— Rozuměl jsi?
— Ano, téměř všechno jsem pochopil.
— Co je tohle?
— *odpovídá správně*.
*Ještě se ptám na pár věcí. Odpovídá víceméně správně, občas úplně mimo, i když třeba v 50 na 50 správně a špatně*
— přijato. Dobře.
Není smysl popisovat všechny ostatní případy. Ano, „dobrák“ může být nespokojený, že „trojkař“ dostává stejnou známku, když se snaží. To pak záleží na náladě. Buď požádám „dobráka“, aby se podíval na podlahu, protože „teď mu dám špetku moudrosti“, a pak vysvětlím podstatu přístupu a že „trojkař“ měl mnohem těžší zkoušku než on, „dobrák“, a tak dále...
… nebo, jako kdysi, nakreslím malý zub do sešitu vedle jména tohoto nespokojeného a příště mu osobně doplním laboratorní práci. Jen tak. Aby „nehasil“ ostatní.

Známky
Vzdělávací proces, stejně jako celý svět, je doslova zaplaven cenami a hodnoceními.
Studenti jsou také lidé, ale podle mě měly být „meze“ trochu „pošramoceny“ i zde.
Během semestru byla všem zadána bonusová úloha. Zaregistrovat se na , nahrát tam prázdný projekt v C++, udělat 2 aktualizace, zcommittovat je a pushnout. Za tyto činy bylo uděleno 15 bodů. Ano, ne 4, ne 5, ale 15. Tři se s tím vypořádali. Tomu psychotypu studentů to bylo ještě jakžtakž jasné, ale pak byl další případ.
Jednou byla naše lekce posunuta tak, že se stala poslední, a ještě k tomu přes přestávku. Přesto přišlo 15 lidí. Vysvětlovat novou teorii na oslavu takového hrdinství se mi nechtělo, protože jsme na tématech už dost pokročili + následující téma nebylo pro unavené mozky (moje i studentů) příliš jednoduché. Tak jsem se rozhodl mluvit o filozofii.
— Oznámuji atrakci bezprecedentní štědrosti. Všichni mi říkají, jakou známku mu dát za dnešní lekci.
Všichni chtěli „pětku“.
— máte ji už, — řekl jsem. Všichni se potěšili.
Ticho.
— A proč nikdo nechtěl 7-ku nebo 10-ku?
Všichni zírali s otevřenýma očima a začali se hloupě usmívat.
— A Vy ji opravdu dáte? Do sešitu?! — ozval se hlas ze zadní lavice.
— To je jednoduché! — řekl jsem, — vyhlašuji bleskovku na termíny, kdo odpoví na 10 mých otázek — dostane 20-ku do sešitu, bez kulišáren, kdo neodpoví — tomu -10 (minus deset).
„Tým ožil, začala diskuse“, všichni měli poctivě vydělané známky. Dva se přihlásili. S drobnými nepřesnostmi postupně odpovídali na 10 otázek o zásobníku, frontě, konstruktoru, destruktoru, sběrači odpadků, enkapsulaci, polymorfismu, hashovacích funkcích…
Každému v žurnálu byla nakreslena 20-ka… ale důležitost žurnálu a známek v očích každého klesla. Teď lituji, že jsem se nezeptal, zda nechtějí „sdílet“ svou známku s někým. Mám pocit, že by se podělili… Od nynějška každý odevzdával „laborku“ s vědomostmi a poctivostí.
Od tohoto okamžiku se objevil další typ odevzdání laborky:
case poctivěNeJehoAleOnSeSnažil — Dělal jsi to sám?
— Ne.
— Proč?
— Těžké. Pomáhal mi… *upřímně zmiňuje studenta jedničkáře ze skupiny*
— Rozuměl jsi?
— Sergeji Nikolajeviči, upřímně — nic tomu nerozumím, napsal jsem si komentáře vedle každého řádku — no, to není pro mě, budu traktoristou.
— Co je tohle?
— *čte komentář vedle řádku*.
— …
— …
— Jaký je rozdíl mezi Belarusem MTZ, Donem 500 a K700?
— ??!.. První je kolový traktor minského výrobce, často používaný v lehkých a středních typech zemědělské výroby. Má malé kola vpředu a velká vzadu. Don 500 je většinou sklízecí kombajn, a K-700 „Kirovec“ je sovětský kolový traktor všeobecného určení s vysokou průchodností, tahový třída 5.
— přijato. Dobře (!!!).
— Děkuji, Sergeji Nikolajeviči!!!
V mé domovině mluvit o traktoru je skoro jako tady o SOLID.
Géniové
Měl jsem ve skupině Géniuse. Student, který se hned od první hodiny silně opozdil a nechtěl spolu se všemi skládat ten puzzle. Tehdy jsem ho požádal, aby udělal to, co jsem pro všechny plánoval na příští hodinu — napsat na list papíru něco o sobě, čím se zajímá, co ho baví. Výsledkem "Géniuse" bylo 2-3 řádky: něco jako „poznávám marnost bytí“…
… Ó Bože, ve skupině mám v jednom těle najednou druhého Lao-c a Kojimu…

K mému překvapení na prvních dvou hodinách skutečně výborně odpovídal na otázky ohledně termínů, ale efekt trval krátce. „Génius“ přestal chodit na hodiny a příště přišel jen na odevzdání první laboratorní práce, kterou úspěšně neodevzdal z objektivních důvodů. Poté mu kvůli absencím logicky naskočily dluhy, které, jak tvrdil, jsem mu prostě musel uznat, tak říkajíc, „bratrsky“.
Návštěva přednášek + nadměrné ego byla v rozporu se stanovenými zásadami účasti na mých hodinách. Pro "Génia" byly pouze dvě možnosti — rehabilitovat se (očekávaná cesta) nebo se na přednášky vykašlat a doufat ve "trojku" udělenou děkanátem, aby se zbavil flákače.
No, je to přece "Génio"… tady je potřeba se chovat "geniálně". Tento mladý muž nenašel nic lepšího, než napsat do společného chatu na VK (kde jsem byl já a všichni studenti této skupiny) rozhořčenou tirádu s nadávkami a urážkami na mou adresu.
No jo… zklamání.
Nejvíc mě překvapilo, že před ukončením procesu trestní akce ze strany vedení školy se rozhodl mi omluvit. Za co? – upřímně mi není jasné. V tu chvíli jsem byl už dávno nezávislý na kritice, zvlášť té, která byla otevřeně hloupá. Moje osobnost nebyla dotčena, ale procesy — to jsou procesy, jako učitel jsem to nemohl neohlásit. Jak se ukázalo, za dobu studia se na něj nasbíralo už tolik stížností, že tento případ byl poslední. Bylo mu ukončeno studium. Z posledního ročníku střední školy.
Možná mě už dlouho pozoruje v hledáčku odstřelovací pušky, ale mě je to, upřímně, jedno.
Ach, genialita, jsi bez srdce…
Epilog
Osobně pro mě byl zkušenost s vyučováním jedním z nejvíc poučných. Pomohlo mi to upevnit základní znalosti programování po studiu na vysoké škole. Cítil jsem se jistý ve vybraném oboru (spektrum dostupných oborů). Zvláštní důležitost má to, že "nejneposlušnější třída" si ke mně vybudovala respekt a přátelský vztah — to má velkou hodnotu. Podařilo se mi najít cestu k jejich vnitřním novátorům, snažil jsem se vštípit jim realitu, a ne tyto šablonové priority. Je škoda, že jsme se nedostali k "skládačkám" v kódování — kdy měl každý vytvořit část kódu, a spojit všechny části dohromady, abychom získali velký funkční program…
Doufám, že si to jednou každý z nich uvědomí… a zatím tu jsou shromážděny screenshoty s názory několika studentů po dvou letech.

Dělat závěry o úspěšnosti kariéry programátora u někoho z nich je zatím předčasné, protože teď většina této skupiny studuje na vysoké škole. Čas ukáže.
Doufám, že byl článek užitečný. Děkuji za pozornost!
Přeji kreativní úspěchy a pozitivní náladu, kolegové!
Zdroj: habr.com
