Tervitused, habrovskilased!
Selles artiklis tahan jagada oma kogemust C++ programmeerimise õpetamisel tehnikaülikoolis. See oli ainulaadne kogemus, mis õpetas mulle palju. Kui rääkida huvitavatest faktidest minu isiklikust minevikust, on see üks esimesi asju, mis pähe tuleb.
Mine.
Esiteks natuke minust endast.
2016. aastal lõpetasin instituudi kiitusega automatiseeritud süsteemide infoturbe erialal. Õpingute ajal realiseerisin korduvalt oma potentsiaali, kirjutades teadusartikleid ning osaledes konkurssidel ja auhindadel. 2015. aastal võitsin ülevenemaalise noorte teadlaste konkursi "UMNIK". 2016. aastal, enne õpingute lõpetamist, palkas suur linnaorganisatsioon mind "infoturbe, krüptograafia ja krüpteerimise spetsialistiks".
Lühidalt, midagi sellist. Võite ette kujutada, et mul oli programmeerimisest mingi ettekujutus.
Ja siis oligi käes aasta 2017. Magistriõpe. Mind paluti ühes kolledžis semestri jooksul C++-d õpetada, mille eest lubati mulle heldeid boonuseid, et magistrandiks olemise koormat leevendada, ja mitte midagi enamat.
Ausalt öeldes olin siiralt huvitatud end selles kreedos proovile panemast.
Esimene paar
September. Esimene koolinädal. Õpilased tulid minu juurde. "Kõige sõnakuulmatum grupp" – nii neid kutsuti.
23 inimest. "Programmeerijad".
Nagu arvata võis, alustasin enda tutvustamisega. Rääkisin neile vaikselt "Esiteks, natuke minust" osa sisust...
Siis algas õudus. Kui õpilastelt (edaspidi nimetame neid nii) küsiti: "Mida te teha oskate?", vastasid nad, et nad teavad vähe rohkem kui mitte midagi (noh, see tähendas, et mõned neist teadsid, milline MS Visual Studio välja näeb ja oskasid luua "Tere Maailm" projekti)... Programmeerijad. Nende viimane aasta...
Seejärel selgitasid nad üksikasjalikult, elavalt, et neile polnud midagi õpetatud ja et nad olid programmeerimises üldiselt pettunud...
Peaaegu kõik päevad järgmise õppetunnini kulgesid minu jaoks nii:

...aga eelmisel päeval tekkis mõte pingutada, et parandada praegust olukorda nende noorte inimeste mõtetes ja teadvuses. Ja siis "Ostap lasi end kaasa haarata".
Sissejuhatus programmeerimisse
Järgmise tunni jaoks tõin kaasa… pusle.
Jah, jah. Pusle. "Kuidas taltsutada lohet". Reeglid olid lihtsad. Grupp jagati kolmeks võistkonnaks. Iga võistkond pani kokku oma tüki. Mõned olid mets, teised maa ja kolmandad pildi keskel olev lohe. Samal ajal kui nad pusle kallal töötasid, selgitasin ma, et Pusle kokkupanek on samuti programmeerimine, et programmeerijad kasutavad sageli teiste inimeste koodi, et igal projektil on mitu erinevat käsku, funktsiooni, moodulit...
Tasapisi liitusid protsessiga ka kõige loiumad õpilased.
Kui olin programmeerimise idee ärikontseptsioonidesse, protsessidesse ja... mõistatustesse sisse juurutanud, oli aeg õppimiseks reeglid paika panna.
Igas tunnis pidi iga õpilane oma vihikusse kirjutama 10 IT-terminit. Suvalised. Igal inimesel oli oma. Mõte oli selles, et võtan ühe õpilase vihiku ja leian ta kõigi terminite hulgast. nii praktiline kui võimalik ja küsis nende kohta teiselt õpilaselt. Kui teine õpilane ütles: "Ma ei kirjutanud seda terminit üles," ei olnud see karistatav (terve mõistuse järgi), aga see õpilane pidi "puuduvad" terminid üles kirjutama (nagu kõik teised, kellel neid polnud) ja need järgmiseks tunniks üles otsima.
Seda me tegimegi. Iga tund algas kahe või kolme õpilase elava juhusliku valikuga. Lapsed olid protsessist vaimustuses.
Tunni teemad
Koolituse alustamisel on ülioluline pakkuda õpilastele head kirjandust. Minu arvates oli ideaalne ressurss see raamat:

Ühel hetkel pidin seda aeglaselt lugema, samal ajal Microsoft Visual Studiot kallistades. Siis sain programmeerimisest praktiliselt nullist aru. Ideaalne.
Sa lähened õpilastele alandlikult ja ütled: "Programmeerijaks saamiseks pead sa lihtsalt lugema ja kõike selles raamatus proovima," ning viskad raamatu lauale. Peaasi, et sa oma seljakotis raamatuid segamini ei ajaks...
Enne iga teemat pidin kindlasti palju ettevalmistusi tegema. Lugesin Laforeti ja mõnda muud huvitavat veebiallikat.
Selgitused tuli teha peaaegu nullist. Lisaks oli vaja deduktiivselt kindlaks teha, kus õpilaste baasteadmised olid puudujääke tekitanud.
Massiivid -> Mäluga töötamine (konstruktorid) -> Viited -> Kuidas mälu töötab -> Salvestusruum -> Mis on füüsiline salvestusruum -> Andmete binaaresitus...

Väga keeruline kiirtest, mis pani paika minu teadmised programmeerimise põhitõdedest. Ma pole enam programmeerija, olen ajaloolane!
Nii need ajaloolised lahingud mölavad juba mitu tundi järjest. Ühel päeval piilub sekretär poodiumilt meie kabinetti ja nähes gruppi, ajab silmad suureks, piilub sisse ja sulgeb ukse. Nagu mulle hiljem räägiti, oli ta šokeeritud, et SEE grupp oli nii vaikselt istunud ja mind nii pingsalt kuulanud... Äh, lihtne.
Laboritööd
Esimene praktiline teave – esimesed „laborid“. Kokku tegi grupp semestri jooksul 10 laboritööd. Esimestes tegid nad lihtsat konsoolimängu. a + bja viimases kirjutasid nad küll konsoolipõhiseid, aga üsna huvitavaid rakendusi, näiteks mõne suvaliselt antud funktsiooni integraali väärtuse arvutamise, kasutades ühte kolmest meetodist - ligikaudu samad ülesanded olid ka lõplikus sertifitseerimises - kursusetööd.
See on lihtsalt aktsepteerimise lähenemine ei See oli tuttav. Kogu oma ülikooliaja jooksul pidin silmitsi seisma tõsiasjaga, et tarkus ja aruannete esitamise oskus ei ole sama asi. See ei meeldinud mulle põhimõtteliselt.
„Poisid, ma olen mõelnud. Loome „kontseptuaalse“ suhte. Kui keegi teist arvab, et programmeerimine pole tema jaoks, siis uks on seal. Ma õpetan teid tasuta. Ma tahan siia ainult uudishimulikke, hoolivaid ja entusiastlikke inimesi. Kõik teised, palun ärge raisake kõigi aega,“ ütlesin laboritööde esimesel päeval. Viis inimest loobusid kohe kohalolekust. See oli loogiline ja ootuspärane. Ülejäänutega oli võimalik proovida midagi sisukat ette võtta.
— … Ma ei ole huvitatud sellest, et keegi sinu tööd ära teeb, et see lihtsalt selleks ära anda. Te ei pruugi olla programmeerijad, aga te võite olla inimesed minu tundides. peavad.
See nägi välja selline:
case отличникÜks tudeng istub minuga maha, et oma töö ära anda.
— Kas sa tegid seda ise?
- Jah.
— Mis see on?
— *vastab õigesti*.
*Küsin veel paari asja kohta. Ta vastab õigesti*
- Vastu võetud. Suurepärane.
case болтун — Kas sa tegid seda ise?
- Jah.
— Mis see on?
— *vastab VALE / ei vasta*.
*Küsin veel paari asja kohta. Sama tulemus*
— EI OLE vastu võetud. LÄBIKUKKUMINE. Ootan kordusvõtet.
case хорошист — Kas sa tegid seda ise?
- Jah.
— Mis see on?
— *vastab õigesti, aga mitte enesekindlalt, hõljub*.
*Küsin veel paari asja kohta. Sama tulemus*
— Vastu võetud. Hea küll.
case ровныйТроечник — Kas sa tegid seda ise?
- Ei.
- Miks?
— See on raske. Mind aitas… *nimetab ausalt grupi parima õpilase nime*
— Kas sa said sellest aru?
- Jah, ma sain peaaegu kõigest aru.
— Mis see on?
— *vastab õigesti*.
*Küsin veel paari asja kohta. Tema vastused on enam-vähem õiged, vahel täiesti valed, isegi kui see on 50/50 õige või vale.*
— Vastu võetud. Hea küll.
Kõiki teisi juhtumeid pole mõtet kirjeldada. Jah, "B" õpilane võib olla rahulolematu, et "C" õpilane saab sama hinde, tuginedes aususele. Siis sõltub kõik tujust. Või palun "B" õpilasel põrandale vaadata, sest "ma kohe pillaksin näpuotsatäie tarkust" ja siis selgitan lähenemisviisi olemust, kirjeldan, mis on elus väärtuslikum, ja selgitan, et "C" õpilasel oli eksamil palju raskem sooritada kui temal, "B" õpilasel, ja nii edasi...
...või nagu mu professor kunagi tegi, joonistan vihiku ruudu sisse väikese hamba selle rahulolematu tudengi kõrvale ja järgmine kord teen laboritöö spetsiaalselt tema jaoks ära. Lihtsalt niisama. Et ta oma klassikaaslasi "maha ei teeks".

Оценки
Haridusprotsess, nagu ka ülejäänud maailm, upub sõna otseses mõttes hinnasiltides ja hinnetes.
Õpilased on ka inimesedaga minu arvates tuli ka siin „raamistikku“ „raputada“.
Semestri jooksul anti kõigile boonusülesanne. Registreeru , laadi üles tühi C++ projekt, tee kaks uuendust, kinnita need ja avalda. Nende tegevuste eest sain 15 punkti. Jah, mitte 4, mitte 5, vaid 15. Meist kolm said sellest aru. See oli õpilase isiksusetüübi jaoks mõnevõrra mõistetav, aga siis juhtus midagi muud.
Ükskord lükati meie tund ümber nii, et see oli viimane tund ja kohe pärast tunniakna lõppu. Siiski ilmus kohale 15 inimest. Ma ei tahtnud sellise kangelaslikkuse auks uut teemat selgitada, kuna olime teemadega juba hästi edasi jõudnud ja järgmine teema oli meie väsinud meeltele (nii minu kui ka õpilaste) väljakutset pakkuv. Seega otsustasin rääkida filosoofiast.
"Kuulutan välja enneolematu heldusega ligitõmbavuse. Kõik ütlevad mulle, mis hinde talle tänase tunni eest anda."
Kõik tahtsid viit.
„Mõtle sellele, et see on juba olemas,“ ütlesin ma. Kõik olid õnnelikud.
Vaikus.
- Miks keegi ei tahtnud? 7-ku või 10-ku?
Kõigi silmad läksid suureks ja nad hakkasid tobedalt naeratama.
„Kas sa tõesti paned selle päevikusse?!“ kostis hääl klassi tagant.
„See on lihtne!“ ütlesin ma. „Kuulutan välja terminoloogiavälksatuse. See, kes vastab minu kümnele küsimusele, võidab.“ 20-ku ajakirjas, pole konksu, kes iganes ei vasta - sellele -10 (miinus kümme).
„Meeskond elavnes ja algas debatt.“ Kõik olid oma raskelt teenitud hinded kätte saanud. Kaks vabatahtlikku pakkusid end välja. Mõne väikese viperusega vastasid nad kordamööda kümnele küsimusele pinude, järjekordade, konstruktorite, destruktorite, prügikogujate, kapseldamise, polümorfismi, räsifunktsioonide... kohta.
Igaühel neist oli ajakirjas pilt joonistatud 20-ka...aga päeviku ja hinnete tähtsus vähenes kõigi silmis. Nüüd kahetsen, et ei küsinud, kas nad sooviksid oma hinnet kellegagi "jagada". Ma arvan, et nad oleksid... Nüüdsest alates sooritasid kõik "labori" teadmiste ja aususega.
Sellest hetkest alates ilmus teist tüüpi laboriuuring:
case честноНеЕгоНоОнПытался — Kas sa tegid seda ise?
- Ei.
- Miks?
— See on raske. Mind aitas… *nimetab ausalt grupi parima õpilase nime*
— Kas sa said sellest aru?
— Sergei Nikolajevitš, ausalt öeldes ei saa ma mitte millestki aru. Kirjutasin iga rea kõrvale ise kommentaari. „Noh, see pole minu teema, ma hakkan traktoristiks.“
— Mis see on?
— *loeb rea vastas olevat kommentaari*.
- ...
- ...
— Mis vahe on Belarus MTZ-l Don 500-l ja K700-l?
— ??!.. Esimene on Minskis toodetud ratastraktor, mida sageli kasutatakse kergetel ja keskmise raskusega põllumajandustöödel. Sellel on ka väikesed rattad ees ja suured rattad taga. Don 500 on peamiselt kombain ja K-700 Kirovets on nõukogudeaegne ratastega universaalne traktor, millel on suurenenud läbitavus maastikul, veojõuklass 5.
— Vastu võetud. Hea (!!!).
- Aitäh, Sergei Nikolajevitš!!!
Minu kodumaal on traktori taga lobisemine peaaegu nagu siin tahke materjali taga lobisemine.
Geniaalne
Mul oli klassis geenius. Ta hilines juba esimesest tunnist peale ja ei liitunud kõigi teistega pusle kokkupanekul. Seega palusin tal teha seda, mida olin järgmiseks tunniks kõigile teistele plaaninud – kirjutada paberile, mis teda huvitab ja mille vastu ta kirglik on. „Geeniusel“ oli lõpuks kaks või kolm rida kirja: midagi sellist nagu: „Ma saan aru eksistentsi mõttetusest.“
... Oh jumal, mul on grupis veel üks Lao Tzu ja Kojima, kõik üheskoos ...

Minu üllatuseks vastas ta kahe esimese tunni jooksul terminoloogiaküsimustele tegelikult suurepäraselt, kuid see efekt ei kestnud kaua. „Geenius“ lõpetas tundides käimise ja ilmus järgmisel korral kohale alles oma esimese laboritöö ajal, mille ta edukalt sooritas. ebaõnnestus objektiivsetel põhjustel. Seejärel kogunesid tal töölt puudumise tõttu loomulikult võlad, mis, nagu ta uskus, Ma pidin selle lihtsalt nii-öelda "vennalikult" sisse arvestama..
Tundides mittekäimine ja paisutatud enesetähtsustunne olid vastuolus minu tundides käimise kehtestatud põhimõtetega. „Geeniusel“ oli ainult kaks võimalust: kas ennast rehabiliteerida (eeldatav tee) või tundidest loobuda ja loota dekaanilt „C“-le, et lodevast lahti saada.
Noh, see on "Geniaalsus"... Siin on vaja midagi "geniaalset". See noormees ei suutnud midagi paremat välja mõelda, kui kirjutada VK grupi üldises arutelus (kus mina ja kõik teised grupi õpilased olime) minu pihta suunatud vihane needuste ja solvangute tiraad.
Hmm... Pettumus.
Kõige enam hämmastas mind see, et enne kolledži administratsiooni karistusmeetmete lõppu otsustas ta minult vabandust paluda. Mille eest? Ma ausalt ei saa aru. Selleks ajaks olin ma juba ammu kriitika suhtes immuunne, eriti sellise ausalt öeldes rumala kriitika suhtes. Minu isiksust see ei mõjutanud, aga protsessid on protsessid ja õpetajana ei saanud ma jätta neist teatamata. Nagu selgus, oli tema õpingute ajal kogunenud nii palju kaebusi, et see jäi viimaseks. Ta visati koolist välja. Kutsekooli viimasest aastast.
Ta võis mind juba pikka aega snaipripüssi sihikust jälgida, aga ausalt öeldes ei huvita mind see.
Oh, geenius, sa oled nii südametu...
Epiloog
Minu jaoks isiklikult oli õpetamine üks valgustavamaid kogemusi. See aitas mul pärast ülikooli lõpetamist kinnistada oma programmeerimise põhiteadmisi. Tundsin end oma valitud erialal (ja saadaolevate erialade valikus) kindlalt. Eriti oluline oli asjaolu, et "kõige mässumeelsem grupp" arendas minu vastu austuse ja sõbralikkuse – see on hindamatu väärtusega. Mul õnnestus luua side nende sisemiste uuendajatega ja püüdsin sisendada reaalsustaju, mitte neid valemipõhiseid prioriteete. Kahju, et me ei jõudnud kodeerimises "puslede" punktini – kus igaüks peaks kirjutama koodijupi ja kõik tükid üheks ühendades oleks meil suurem ja toimiv programm...
Loodan, et ühel päeval tunneb igaüks neist seda... aga praegu on allpool ekraanipildid mitme õpilase arvustustega pärast 2 aastat.

Nende edukuse kohta programmeerijatena on veel vara järeldusi teha, kuna suurem osa sellest grupist õpib praegu ülikoolis. Aeg näitab.
Loodan, et see artikkel oli abiks. Tänan lugemise eest!
Loomingulist edu ja positiivset meeleolu, kolleegid!
Allikas: www.habr.com
