Üdvözlöm, Habr-lakók!
Ebben a cikkben szeretném megosztani a tapasztalataimat a C++ programozás oktatásában a műszaki egyetem főiskoláján. Ez egyedülálló élmény volt az életemben, amely sok mindenre megtanított. Amikor érdekes tényekre gondolok a múltamból, ez az élmény az egyik első, ami eszembe jut.
Menjünk.
Először egy kicsit magamról.
2016-ban végeztem az intézetben kitüntetéssel az "Automatizált rendszerek információbiztonsága" szakon. A tanulmányaim során többször is lehetőséget kaptam a tudományos cikkek írására, versenyeken és pályázatokon való részvételre. 2015-ben megnyertem az országos fiatal tudósok "UMNIK" versenyét. 2016-ban, a tanulmányom befejezése előtt már elhelyezkedtem egy nagyvárosi szervezetnél mint "Információbiztonsági, kriptográfiai és titkosító szakember".
Röviden, valahogy így. Elmondható, hogy a programozásról azért volt valamicske elképzelésem.
És elérkezett 2017. A doktorandusz képzés. Megkértek, hogy egy szemeszteren át oktassak C++-t a főiskolán, amiért jó bónuszokat ígértek a doktorandusz terheinek csökkentésére.
Őszintén szólva, igazán érdekelt, hogy kipróbálhassam magam ebben a szerepben.
Első óra
Szeptember. Az első tanulási hét. Jöttek a diákok. "A legrosszabb csoport" — így hívták őket.
23 ember. "Programozók".
Szokás szerint először bemutatkoztam. Mérsékelten elmondtam nekik a "Először egy kicsit magamról" rész tartalmát…
Ezután kezdődött a rémálom. A kérdésre, hogy "Mit tudtok?", a diákok (ezentúl nevezzük őket így) azt válaszolták, hogy nagyjából semmit nem tudnak (ez azt jelentette, hogy néhányan tudták, hogy mi az az MS VS és tudtak létrehozni egy "Hello world" projektet)… Programozók. Utolsó év…
Ezt követően részletesen, "színesen" kifejtették, hogy semmi hasznosat nem tanultak, és hogy egyáltalán csalódtak a programozásban…
Szinte minden napom így telt el a következő óráig:

… de egy nappal az óra előtt felmerült az ötlet, hogy erőt fektetek a helyzet megoldásába a fiatalok tudatában és elméjében. És akkor "Ostapnak elgurult a gyógyszere".
Bevezetés a programozásba
A következő órára behoztam… puzzle-t.
Igen-igen. Puzzle. „Hogyan neveljünk sárkányt“. A szabályok egyszerűek voltak. A csoport három csapatra oszlott. Minden csapat a saját darabját gyűjtötte. Egyik az erdőt, másik a földet, harmadik a sárkányt a kép közepén. Miközben az egész óra alatt a puzzlet rakták össze, meséltem nekik arról, hogy a puzzle összerakása is programozás, hogy a programozók gyakran használják mások kódját, hogy minden projektben több különböző csapat, funkció, modul van…
Fokozatosan a leglustább diákok is bekapcsolódtak a folyamatba.
Amikor befejeztem a programozás üzleti, folyamat- és… puzzlerel kapcsolatos ötletének előadását, elérkezett az idő az oktatási szabályok megállapítására.
Minden órára minden diáknak fel kellett írnia a füzetébe 10 IT-s kifejezést. Akármit. Mindenkinek más. A lényeg az volt, hogy vettem egy diáknak a füzetét, megkerestem az összes kifejezés között a lehető legalkalmazhatóbbakat és megkérdeztem a másik diákot róluk. Amikor a másik diák azt mondta: „Ezt a kifejezést nem írtam fel”, az nem volt büntetendő (az egészségügyi értelemben), de annak a diáknak fel kellett írnia a „hiányzó” kifejezéseket (mint mindenki, akinek nem volt) és megkeresnie azok jelentését a következő órára.
Így tettünk. Minden óra egy vidám random válogatással kezdődött két-három diák bevonásával. A fiúk lelkesedéssel álltak hozzá ehhez a folyamathoz.
Az órák témái
Az oktatás megkezdésekor nagyon fontos, hogy jó irodalmat adjunk a tanulóknak. Véleményem szerint az ideális tananyag a következő könyv volt:

Időmben diszkréten kellett elolvassam a Microsoft Visual Studio társaságában. Akkor sikerült gyakorlatilag nulláról megértenem a programozást. Tökéletes választás.
Lépj be csendesen a diákokhoz, és mondod: „Ahhoz, hogy programozók legyetek, nem kell más, csak elolvasni és kipróbálni mindazt, ami ebben a könyvben van”, és leteszed a könyvet az asztalra. A lényeg — ne keverd össze a könyveket a hátizsákodban…
Minden témához kétségtelenül alaposan fel kellett készülnöm. Olvastam ugyanattól a Laforetól és még néhány érdekes forrásból az Internetről.
Kell magyaráznom szinte az alapjaitól kezdve. Az pedig, hogy ahol a diákoknak az alapvető tudásuk hiányzik, azt deduktívan kellett megértenem.
Tömbök -> Memória kezelése (konstruktorok) -> Hivatkozások -> Hogyan működik a memória -> Tárhelyek -> Mi az a fizikai tároló -> Kettős számábrázolás…

Nagyon erős crash-teszt a programozás alapvető tényeinek tudásáról. Már nem vagyok programozó, hanem történész vagyok!
Nos, történelmi csaták zajlanak néhány párban. Egyszer csak benéz a kabinetbe egy titkárnő az intézményből, és meglátva a csoportot, elkerekedik a szeme, figyelmesen néz, majd becsukja az ajtót. Később értesültem, hogy sokkolta, hogy EZ a csoport ilyen csendben és ilyen figyelemmel hallgatta meg az előadásomat... Hehe, könnyedén.
Laboratóriumi munkák
Az első alkalmazott ismeretek — az első „laborok”. Az egyik szemeszter alatt a csoport 10 laboratóriumi munkát adott le. Az elsőekben egyszerű konzolos a+b, a végén pedig már érdekesebb alkalmazásokat írtak, mint például egy adott, önkényesen megadott függvény integráljának értékének kiszámítása három módszer egyikével — körülbelül ilyen feladatok voltak a záróvizsgán és a kurzusmunkában is.
Csak a megközelítés nem a beszámításnál szokásos volt. Az egyetemi évek alatt folyamatosan azt tapasztaltam, hogy okosnak lenni és tudni a beszámoló munkák leadását nem ugyanaz. Ez teljesen nem volt számomra elfogadható.
— Fiúk, arra gondoltam. Építsük meg a "fogalmi" kapcsolatokat. Ha valaki közültek úgy érzi, hogy a programozásra nincs szüksége — az ajtó ott van. Ingyen tanítok nektek. Szeretném itt látni csak a kíváncsi, érdeklődő és nem közömbös lelkesedőket. Mindenki mást kérek, ne pazarolja el a közös időt — mondtam a laboratóriumi munkák első napján. Ezt követően 5 ember azonnal abbahagyta a látogatást. Ez logikus és várható volt. A többiekkel valami érdemlegeset próbálni lehetett.
— … nem érdekel nézni, hogy valaki más csinálta a munkát, csak azért, hogy átmenj. Lehet, hogy nem vagytok programozók, de az óráimon embereknek kell lennetek azt hiszem.
Ez úgy nézett ki:
case kitűnőBeül hozzám egy diák, hogy leadja a munkáját.
— Te csináltad a munkát?
— Igen.
— Mi ez itt?
— *helyes választ ad.*
*Kérdezek még pár dolgot. Helyesen válaszol*
— elfogadva. Kitűnő.
case fecsegő — Te csináltad a munkát?
— Igen.
— Mi ez itt?
— *helytelenül válaszol / nem válaszol.*
*Kérdezek még pár dolgot. Ugyanaz az eredmény*
— NEM elfogadva. NEM KELL. Várom a javítást.
case jó tanuló — Te csináltad a munkát?
— Igen.
— Mi ez itt?
— *helyesen válaszol, de nem biztos, zavarban van.*
*Kérdezek még pár dolgot. Ugyanaz az eredmény*
— elfogadva. Jól van.
case átlagos hármas — Te csináltad a munkát?
— Nem.
— Miért?
— Nehéz. Segített nekem… *őszintén említi a kitűnő tanulót a csoportból*
— Utána néztél?
— Igen, majdnem mindent megértettem.
— Mi ez itt?
— *helyes választ ad.*
*Kérdezek még pár dologról. Válaszol többé-kevésbé helyesen, néha teljesen mellé, legyen az akár 50-50 arányban helyes és helytelen*
— elfogadva. Jól van.
A többi esetet nem érdemes lebontani. Igen, a „jól tanuló” talán elégedetlen, hogy a „hármas” ugyanazt az értéket kapja, tisztességgel. Ilyenkor minden a hangulattól függ. Vagy megkérem a „jól tanulót”, hogy nézze a padlót, mert „most egy csipetnyi bölcsességet osztok meg”, majd elmondom a megközelítés lényegét, leírom, mi az, ami az életben nagyobb értéket képvisel, és kifejtem, hogy a „hármasnak” sokkal nehezebb volt teljesítenie, mint neki, a „jól tanulónak”, stb...
… vagy, ahogy annak idején, a tanárom, rajzolok egy kis jelet a napló cellájába az elégedetlen mellé, és legközelebb személyesen kiegészítem a laboratóriumi munkát. Csak úgy. Hogy ne „nyomorítsam el” a társaimat.

Értékelések
A tanulási folyamat, akárcsak a világ, szó szerint fel van úszva árjegyzékekkel és értékelésekkel.
A diákok is emberek, azonban a „kereteket”, véleményem szerint, meg kellett volna „rezegtetni”.
A szemeszter során mindenkinek kiosztottak egy bónusz feladatot. Regisztrálni kellett a , feltölteni egy üres C++ projekttel, két frissítést készíteni, azokat elkötelezni és feltölteni. Ezekért a lépésekért 15 pontot adtak. Igen, nem 4, nem 5, hanem 15. Hárman értették meg. A diák pszichológiához ez még valahogy érthető volt, de utána volt egy másik eset.
Egyszer a tanóránkat úgy átkonfigurálták, hogy az utolsó lett, plusz még egy pár-perces ablak is lett. De ennek ellenére 15 ember megjelent. Új témát magyarázni ilyen hősiesség honorálása miatt nem akartam, mivel már elég jól haladtunk a témákkal + a következő téma nem volt olyan egyszerű a fáradt elmék (az én és a diákok) számára. Akkor úgy döntöttem, beszélek a filozófiáról.
— Bejelentem a soha nem látott nagylelkűséget. Mindenki mondja meg, milyen osztályzatot adjak neki a mai óráért.
Mindenki ötöst akart.
— Nézzétek, már van, — mondtam. Mindenki boldogan reagált.
Csend.
— De miért senki nem akart 7-ot vagy 10-t?
Mindenki kidugta a szemét és bután mosolygott.
— De Ön tényleg beírja? A naplóba?! — jött a kérdés a hátsó padról.
— Persze! — mondtam, — bejelentem a villámkvízt a fogalmakból, aki válaszol 10 kérdésemre — az megkapja a 20 pontot a naplóba, semmi trükk, aki nem válaszol — az nem kap. -10 (mínusz tíz).
„A csapat felélénkült, elkezdődött a vita
Mindenkinek rajzoltak a naplóba 20-as… de a napló és a jegyek fontossága mindenkinek csökkent a szemében. Most sajnálom, hogy nem kérdeztem meg, akarják-e „megosztani” a jegyüket valakivel. Azt hiszem, megosztották volna... Mostantól mindenki a tudásával és a becsületességével adta le a „laborját”.
Ettől a pillanattól kezdve megjelent egy új típusú laborleadás:
eset becsületesDeŐDePróbált — Te csináltad a munkát?
— Nem.
— Miért?
— Nehéz. Segített nekem… *őszintén említi a kitűnő tanulót a csoportból*
— Utána néztél?
— Szergej Nyikolajevics, őszintén — semmit nem értek, tényleg, saját megjegyzéseket írtam minden sor mellé — ez nem az enyém, traktoros leszek.
— Mi ez itt?
— *olvassa a megjegyzést a sor mellett*.
— …
— …
— Mi a különbség a Belarus MTZ és a Don 500 és a K700 között?
— ??!.. Az első — kerekes traktor belorusz gyártású, amelyet gyakran használnak a könnyű és közepes mezőgazdasági termelésben. Elöl kis kerekek, hátul nagyok vannak. A Don 500 — elsősorban egy arató kombájn, míg a K-700 „Kirovec” — szovjet kerekes traktor általános célra, megerősített terepképességgel, 5-ös vonóerő osztály.
— el van fogadva. Jól van (!!!).
— Köszönöm, Szergej Nyikolajevics!!!
Hazámban a traktoron való beszélgetés szinte olyan, mint itt a SOLID-ral.
Géniusz
Volt egy géniusz a csoportomban. Az első órán nagyon későn érkezett, és nem állt be a többiekhez a puzzle összerakására. Akkor megkértem, hogy csinálja meg azt, amit mindenki a következő órán tervezett — írjon egy papírra magáról, mivel foglalkozik, mi érdekli. A „Géniusz” eredménye 2-3 sor volt: valami ilyesmi: „felfedezem az élet hiábavalóságát”…
… Ó, Istenem, az osztályomban egyszerre volt a második Lao Ce és Kojima...

Meglepő módon az első két órán valóban ragyogóan válaszolt a kifejezésekkel kapcsolatos kérdésekre, de a hatás nem tartott sokáig. A „Géniusz” abbahagyta az órák látogatását, és legközelebb csak az első laboratóriumi munkájának leadásakor jelent meg, amelyet sikeresen nem adott le objektív okok miatt. Ezután a mulasztások miatt érthetően adósságai halmozódtak fel, amelyeket, amint ő hitte, nekem egyszerűen el kellett számolnom vele, mondhatni, "testvériesen"..
A hiányzás és a felfújt önértékelés ellentmondott az óráim látogatásának megállapított elveinek. A „Géniusz” előtt csak két lehetőség állt — rehabilitálódni (várható út) vagy meg sem próbálni a tanfolyamokat, és bízni abban, hogy a dékánság egy „hármas” osztályzatot ad, hogy megszabaduljon a semmirekellőtől.
Hát ez a „Géniusz”… itt biztosan „zseniálisan” kell eljárni. Ez a fiatalember nem talált jobbat, mint hogy egy közös VK párbeszédben (ahol ott voltam én is és az összes diák a csoportomban) egy dühös tirádát írjon trágár szavakkal és sértésekkel az én irányomban.
Hát… Csalódott vagyok.
Legjobban az lepett meg, hogy a főiskola által végrehajtott büntetőintézkedés befejezése előtt úgy döntött, hogy bocsánatot kér tőlem. Miért? — számomra őszintén szólva érthetetlen. Ekkorra már rég független voltam a kritikától, főként egy ilyen nyilvánvalóan buta kritikától. Az én személyiségem nem sérült, de a folyamatok — azok folyamatok, mint oktató, nem tehettem másként, mint hogy tájékoztassak erről. Mint kiderült, az egész tanulmányi időszaka alatt annyi panasz gyűlt össze, hogy ez az eset lett az utolsó. Kizárták. Az utolsó évfolyamról a szakközépiskolában.
Lehet, hogy már régóta a céltávcsövéből figyel, de őszintén szólva, nekem mindegy.
Hú, a zsenialitás, mennyire szívtelen vagy…
Epilógus
Személy szerint számomra a tanítási tapasztalat az egyik legtanulságosabb dolog volt. Segített megerősíteni az alapvető programozási tudásomat, amit az intézetben szereztem. Magabiztosságot éreztem a választott szakmában (az elérhető szakmák spektrumában). Különösen fontos az, hogy a „legrosszabbul viselkedő csoport” tisztelettel és barátsággal fordult hozzám — ez nagyon sokat ér. Sikerült utat találnom a belső innovátoraikhoz, és megpróbáltam a valóságot átadni, nem pedig ezeket a sablonos prioritásokat. Kár, hogy nem jutottunk el a „puzzle”-okhoz a kódolásban — amikor mindenkinek részt kellett volna vennie a kód egy részének elkészítésében, és amikor összeállítjuk az összes darabot, akkor egy nagy működő programot kapnánk…
Remélem, egyszer mindegyikük érezni fogja ezt… de addig itt alább összegyűjtöttem néhány hallgatói véleményt a következő 2 év után.

Még korai a karrier sikeréről levonni a következtetéseket bármelyikük esetében, hiszen jelenleg a csoport nagy része egyetemre jár. Az idő megmutatja.
Remélem, hogy hasznos volt a cikk. Köszönöm a figyelmet!
Kreatív sikereket és pozitív hangulatot kívánok, kollégák!
Forrás: habr.com
