Tere, Habrovchid!
Selles artiklis tahan rÀÀkida oma kogemusest C++ programmeerimise Ă”petajana tehnikaĂŒlikooli kolledĆŸis. See oli ainulaadne kogemus elus, mis mind palju Ă”petas. Kui rÀÀkida huvitavatest faktidest isiklikust minevikust â see eluperiood tuleb meelde ĂŒhe esimesena.
LĂ€hme.
Esiteks natuke enda kohta.
2016. aastal lĂ”petasin instituudi punase diplomiga âAutomatiseeritud sĂŒsteemide infotehnoloogiaâ erialal. Ăpingute ajal olen korduvalt suutnud oma potentsiaali realiseerida teadusartiklite kirjutamises, konkurssidel ja stipendiumides osalemises. 2015. aastal olin ĂŒleriikliku noorte teadlaste konkursi âUMNIKâ vĂ”itja. 2016. aastal, enne lĂ”petamist, sain suurest organisatsioonist tööd ametikohal âInfoturbe, krĂŒptograafia ja salastamise spetsialistâ.
KokkuvÔttes oli see just nii. VÔib öelda, et programmeerimisest olin ma siiski midagi kuulnud.
Ja siis oli 2017. aastaks aspirantuur. Mind paluti Ă”petama C++-d kolledĆŸis semestri jooksul, millega lubati mulle hĂ€id boonuseid aspirandi koormuse vĂ€hendamiseks ja mitte midagi enamat.
Ausalt öeldes oli mul siiralt huvitav proovida end selles ametis.
Esimene tund
September. Esimene Ă”ppenĂ€dal. Tulid minu juurde tudengid. âKĂ”ige sĂ”nakuulematum gruppâ â kutsuti neid nii.
23 inimest. âProgrammeersijadâ.
Nagu kombeks, alustasin tutvustamisega. RÀÀkisin neile tagasihoidlikult osa âEsiteks natuke enda kohtaâ sisu...
Siis algas Ă”udus. KĂŒsimusele âMida te oskate?â vastasid tudengid (nimetame neid edaspidi nii), et nad oskavad pisut rohkem kui mitte midagi (see tĂ€hendas, et mĂ”ni neist teadis, kuidas MS VS vĂ€lja nĂ€eb ja oskab luua projekti âHello worldâ)⊠Programmeerijad. Viimane kursus...
Edasi selgitasid nad pĂ”hjalikult, âvĂ€rvikaltâ, et neid ei Ă”petatud millestki ja et nad on ĂŒldiselt programmeerimisest pettunud...
Peaaegu kÔik pÀevad kuni jÀrgmiseks Ôppetunniks möödusid nii:

... aga pĂ€ev enne seda tekkis mĂ”te pĂŒĂŒda oma jĂ”ud tegeleda selle noorte peade ja teadvuse olukorra parandamisega. Ja siis âOstapa viidi Ă€raâ.
Sissejuhatus programmeerimisse
JÀrgmiseks Ôppetunniks tÔin ma ... pusle.
Jah, jah. Pusle. âKuidas taltsutada lohetâ. Reeglid olid lihtsad. RĂŒhm jagati kolme meeskonda. Iga meeskond kogus oma osa. Ăhed â mets, teised â maa, kolmandad â lohe pildi keskel. Kui nad kogu sessiooni jooksul puslet kokku panid, rÀÀkisin, et pusle kokkupanemine on ka programmeerimine, et programmeerijad kasutavad sageli teiste koodi, et igas projektis on mitmeid erinevaid meeskondi, funktsioone, mooduleidâŠ
Aja jooksul liitusid protsessiga ka kĂ”ige vĂ€sinumad ĂŒliĂ”pilased.
Kui lÔpetasin programmeerimise idee tutvustamise Àri, protsesside ja⊠puslede kontekstis, oli aeg seadistada Ôpikute reeglid.
Iga tunni jaoks pidi iga ĂŒliĂ”pilane kirjutama oma vihikusse 10 IT-termi. ĂkskĂ”ik milliseid. Igal ĂŒhel on oma. Idee on see, et ma vĂ”tsin ĂŒhe ĂŒliĂ”pilase vihiku, leidsin kĂ”igi terminite seast kĂ”ige rakenduslikumad ja kĂŒsisin teine ĂŒliĂ”pilaselt neid. Kui teine ĂŒliĂ”pilane ĂŒtleb: âMa ei kirjutanud seda terminitâ, ei olnud see karistatav (terve mĂ”istus), kuid see ĂŒliĂ”pilane pidi kirjutama âpuuduvaidâ termineid (nagu kĂ”ik, kellel neid ei olnud) ja leidma nende tĂ€hendused jĂ€rgmise tunni jaoks.
Nii me tegutsesime. Iga tund algas mĂ”ne energilise juhuslikult valitud kahe-kolme ĂŒliĂ”pilasega. Poisid olid selle protsessi suhtes innukad.
Tundide teemad
Koolitust alustades on vÀga oluline anda Ôppijatele head kirjandust. Minu arvates oli ideaalne Ôpik:

Oma ajal pidin selle vaikselt lugema Microsoft Visual Studioga. Siis Ônnestus mÔista programmeerimist praktiliselt nullist. Ideaalne variant.
Astud tagasi Ă”pilaste juurde ja ĂŒtled: âEt saada programmeerijaks, peate lihtsalt lugema ja proovima kĂ”ike, mis selles raamatus onâ, ja viskad raamatu lauale. Peamine on mitte segamini ajada raamatuid oma seljakotisâŠ
Iga teema eel pidin ma ilma kahtluseta pÔhjalikult valmistuma. Lugesin sama Lafore'i ja veel mÔnelt huvitavalt allikalt vÔrgu kaudu.
Selgitama pidi pea iga kord algusest peale. Ja mĂ”ista, kus ĂŒliĂ”pilaste pĂ”hi teadmiste tase on puudu, tuli deduktiivselt.
Massiivid -> MĂ€luga töötamine (konstruktorid) -> Viidatud -> Kuidas mĂ€lu töötab -> Ahnurud -> Mis on fĂŒĂŒsiline mĂ€luseade -> Binaarne andmete esitamineâŠ

VÀga pÔhjalik test programmeerimise aluste teadmiste kohta. Ma ei ole enam programmeerija, vaid ajaloolane!
Nii et ajaloolised lahingud toimuvad mitu korda jĂ€rjest. Ăks pĂ€ev tuleb meie kabinetti referent ja nĂ€hes rĂŒhma, silmad lahti ja vaatab, ning sulgeb ukse. Kuidas mulle hiljem öeldi, oli ta ĆĄokis, et SEE grupp istus nii vaikselt ja kuulas mind nii tĂ€helepanelikult⊠TĆĄehh, lihtne.
Laboratoorsed tööd
Esimesed praktilised teadmised â esimesed «laborid». Kogu semestri jooksul tegi grupp 10 laboratoorset tööd. Esimeste seas tegid nad lihtsamaid konsool... a+b, ja viimastes kirjutasid nad, ehkki konsooliprogramme, aga ĂŒsna huvitavaid rakendusi, nĂ€iteks mingi suvalise funktsiooni integraali vÀÀrtuse arvutamist kolme meetodi abil â sarnased ĂŒlesanded olid ka lĂ”putööde hindamisel.
Kuid vastuvĂ”tumeetod oli ei olnud harjumuspĂ€rane. Kogu Ă”pingute ajal instituudis kohtusin ma sellega, et olla tark ja osata esitada aruandeid â see ei ole sama. See ei rahuldanud mind ĂŒldse.
â Lapsed, ma mĂ”tlesin. Teeme «mĂ”isted» selgeks. Kui keegi teist arvab, et programmeerimine ei ole talle vajalik â uks on seal. Ma Ă”petan teile tasuta. Soovin nĂ€ha siin ainult uudishimulikke, mitte ĂŒkskĂ”ikseid ja entusiaste. KĂ”iki teisi palun mitte raisata meie aega â ĂŒtlesin ma laboratoorsete tööde vastuvĂ”tu esimesel pĂ€eval. PĂ€rast seda lĂ”petas viie inimese kohe tundides kĂ€imine. See oli loogiline ja ootuspĂ€rane. ĂlejÀÀnutega oli vĂ”imalik midagi arusaadavat teha.
â ⊠mulle ei ole huvitav vaadata, kuidas keegi tegi teie töö, ainult et lĂ€bida. TĂ”enĂ€oliselt ei pea te olema programmeerijad, kuid minu tundides peate te olema kĂŒll.
See nÀgi vÀlja nii:
juhtum viieheategijaIstub minu juurde tudeng töö esitama.
â Kas sa ise tegid?
â Jah.
â Mis see on?
â *vastab Ă”igesti*.
*KĂŒsin veel paar kĂŒsimust. Vastab Ă”igesti*
â vastu vĂ”etud. SuurepĂ€rane.
juhtum lobiseja â Kas sa ise tegid?
â Jah.
â Mis see on?
â *vastab VALESTI / ei vasta*.
*KĂŒsin veel paar kĂŒsimust. Sama tulemus*
â EI ole vastu vĂ”etud. EBAĂNN. Ootan uuesti.
juhtum korralik â Kas sa ise tegid?
â Jah.
â Mis see on?
â *vastab Ă”igesti, aga ebakindlalt, eksleb*.
*KĂŒsin veel paar kĂŒsimust. Sama tulemus*
â vastu vĂ”etud. HĂ€sti.
juhtum tasakaalus kolmes â Kas sa ise tegid?
â Ei.
â Miks?
â Raskus. Aitasin⊠*ausalt nimetab grupist esimest Ă”pilast*
â Kas said aru?
â Jah, peaaegu kĂ”ik sain aru.
â Mis see on?
â *vastab Ă”igesti*.
*KĂŒsin veel mĂ”ne asja kohta. Vastab enam-vĂ€hem Ă”igesti, mĂ”nikord tĂ€iesti vale, ehkki 50-50 Ă”igete ja vale vastuste osas*
â vastu vĂ”etud. HĂ€sti.
ĂlejÀÀnud juhtumeid ei ole mĂ”tet kirjeldada. Jah, "hea Ă”ppija" vĂ”ib olla nördinud, et "keskmine" saab sama hindega, tuginedes aususele. Siis sĂ”ltub kĂ”ik tujust. Kas ma palun "hea Ă”ppija" vaadata pĂ”randat, sest "nĂŒĂŒd annan ma vĂ€ikese tarkuse", ja siis seletan lĂ€henemist, kirjeldan, mis elus on suurem vÀÀrtus, ja selgitan, et "keskmisel" oli palju raskem eksam sooritada kui tal, "hea Ă”ppijal", jne...
⊠vÔi, nagu kunagi, joonistan ma pÀevikus selle rahulolematuse kÔrvale vÀikese hamba ja jÀrgmisel korral tÀiendavalt isiklikult tema jaoks laboritööd. Lihtsalt niisama. Et mitte "hÀvitada" kaaslasi.

Hinded
Ăppeprotsess, nagu ka terve maailm, on sĂ”na otseses mĂ”ttes hindadega tulvil.
ĂliĂ”pilased on ka inimesed, kuid "raamid", minu arvates, oleks pidanud "raputama" ka siin.
Semestri jooksul anti kĂ”igile boonuste ĂŒlesanne. Registreeruda , laadida sinna tĂŒhine projekt C++ keeles, teha 2 uuendust, kommitida need ja pushida. Nende tegevuste eest mÀÀrati 15 punkti. Jah, jah, mitte 4, mitte 5, vaid 15. Kolm said aru. ĂliĂ”pilaste psĂŒhhotĂŒĂŒbile oli see veel kuidagi arusaadav, kuid siis tuli teine juhtum.
Kord meie paar lĂŒkati nii, et sellest sai viimane, ja veel akna vahel. Kuid sellele tuli siiski 15 inimest. Uue teema seletamine sellise kangelasteo tĂ”ttu ei olnud mulle soovitav, kuna olime teemasid piisavalt hĂ€sti lĂ€binud + jĂ€rgmine teema ei olnud vĂ€sinud ajude jaoks (minu ja Ă”pilaste) vĂ€ga lihtne. Siis otsustasin rÀÀkida filosoofiast.
â Declaareerin enneolematut heldust. KĂ”ik ĂŒtlevad mulle, missugune hinne talle tĂ€na paarist panna.
KÔiksoovis "viit".
â Arvake, et see on juba olemas, â ĂŒtlesin ma. KĂ”ik rÔÔmustasid.
Vaikus.
â aga miks keegi ei soovinud 7- kaja vĂ”i 10- kaja?
KÔik vaatasid suured silmad ja hakkasid rumalalt naeratama.
â Kas te tĂ”esti panete? PĂ€evikus?! â kostus hÀÀl tagumisest lauast.
â Jah, kerge töö! â ĂŒtlesin ma, â kuulutan vĂ€lja terminide blitz'i, kes vastab 10 minu kĂŒsimusele â panen 20 punkti pĂ€evikusse, ilma trikki, kes ei vasta â sellele -10 (miinus kĂŒmme).
âMeeskond elavnes, algas diskussioonâ, kĂ”ikidel olid ausalt teenitud hinded. Kaks inimest pakkusid end ĂŒles. MĂ”ningate vĂ€ikeste ebatĂ€psustega vastasid nad vaheldumisi kĂŒmnele kĂŒsimusele virnast, jĂ€rjekorrast, konstruktorist, destruktorist, prĂŒgikorjajast, kapseldamisest, polĂŒmorfismist, hash-funktsioonidestâŠ
IgaĂŒhele joonistati ajakirja. 20-punt.⊠aga ajakirja ja hindade tĂ€htsus langes igaĂŒhe silmis. NĂŒĂŒd kahetsen, et ei kĂŒsinud, kas nad tahaksid kellegagi "jaga" oma hinnet. Mul on tunne, et nad oleksid jaganud... Edaspidi andis igaĂŒks "labori" teadmiste ja aususega.
Sellest hetkest peale tekkis veel ĂŒks labori andmise tĂŒĂŒp:
juhtum ausaltEiTemaAgaTaProovis â Kas sa ise tegid?
â Ei.
â Miks?
â Raskus. Aitasin⊠*ausalt nimetab grupist esimest Ă”pilast*
â Kas said aru?
â Sergei NikolajevitĆĄ, tĂ”esti â ma ei saa aru, ma ise kirjutasin iga rea kĂ”rval kommentaare â aga see ei ole minu asi, ma tahan olla traktorist.
â Mis see on?
â *loeb kommentaari rea kĂ”rval.*
â âŠ
â âŠ
â Mida erineb Belarus MTZ Don 500-st ja K700-st?
â ??!.. Esimene on Minskis valmistatud ratastega traktor, mida kasutatakse sageli kergete ja keskmise ulatusega pĂ”llumajandustegevustes. Tal on ees vĂ€ikesed ja taga suured rattad. Don 500 on peamiselt koristustraktor, kuid K-700 âKirovetsâ on NĂ”ukogude ratastega universaaltraktor, millel on suur lĂ€bitavus, tĂ”mbe klass 5.
â aktsepteeritud. HĂ€sti (!!!).
â AitĂ€h, Sergei NikolajevitĆĄ!!!
Minu kodumaal on traktori ĂŒle rÀÀkida sama, mis siin SOLID-ist.
Geenius.
Mul oli grupis Geenius. ĂliĂ”pilane, kes esimesest loengust hilines ja ei hakanud koos teistega pusle kokku panema. Siis palusin tal teha seda, mida ma kĂ”ikidele jĂ€rgmiseks klassiks plaanisin â kirjutada paberile enda kohta, mida ta armastab, mis teda huvitab. Tulemuseks oli âGeeniuselâ 2-3 rida: midagi sellist nagu âmĂ”istan elutuks olemise tĂŒhjustââŠ
⊠Oh, Jumal, mul on grupis samas isikus samaaegselt kaks Laozi ja KojimaâŠ

Minu ĂŒllatuseks vastas ta esimestel kahel loengul tĂ”eliselt suurepĂ€raselt terminite kĂŒsimustele, kuid efekt ei kestnud kaua. âGeeniusâ lĂ”petas tundide kĂ€imise ja tuli jĂ€rgmine kord ainult esimese laboritöö sooritamiseks, mille ta edukalt ei sooritanud objektiivsetel pĂ”hjustel. SeejĂ€rel, kuna tal oli puudumisi, kogunes tal loomulikult kohustusi, mida ta arvas, ma pidin lihtsalt talle arvesse vĂ”tma, nii öelda, âvendlikultâ..
Klasside mittevisiit + liialdatud enesehinnang olid vastuolus kehtestatud pĂ”himĂ”tetega minu tundide kĂŒlastamiseks. âGeniuselâ oli olukorrast vaid 2 vĂ€ljapÀÀsu â rehabiliteeruda (oodatav tee) vĂ”i ignoreerida tunde ja loota, et dekaan paneb âkolmeâ, et vabaneda lohakiast.
No see on ju âGeniusâ... siin tuleb kĂ€ituda âgeniaalseltâ. See noormees ei leidnud midagi paremat, kui kirjutada ĂŒldises VK dialoogis (kus olin mina ja kĂ”ik selle grupi tudengid) raevukas tirade roppustega ja solvava sisu juurde minu aadressil.
Hmm⊠Pettumus.
KĂ”ige enam ĂŒllatas mind, et enne karistusprotsessi lĂ”petamist kolledĆŸi juhtkonna poolt otsustas ta minu ees vabandada. Miks? â see on mulle siiralt arusaamatu. Sel hetkel olin ma juba ammu sĂ”ltumatu kriitikast, eriti nii rumalast. Minu isikut see ei puudutanud, kuid protsessid â need on protsessid, kui Ă”petaja, ma ei saanud sellest mitte teatada. Selgus, et tema peale oli kogu Ă”ppeaja jooksul kogunenud nii palju kaebusi, et see juhtum osutus viimaseks. Ta ekspelleeriti. Kutsekooli viimase klassi lĂ”petaja.
VÔib-olla on ta juba ammu jÀlginud mind nagu snaiperi eesmÀrgistaja, kuid ausalt öeldes, ei huvita mind see.
Ahh, geniaalsus, sa sĂŒdameetuâŠ
Epilog
Isiklikult oli minu Ă”petamiskogemus ĂŒks kĂ”ige Ă”petlikumaid. See aitas mul kinnistada fundamentaalsed teadmised programmeerimisest pĂ€rast ĂŒlikooli. Tundsin enesekindlust valitud erialas (saadaval erialade spekter). Eriti oluline on see, et âkĂ”ige vaimsem gruppâ oli minu vastu austust ja sĂ”bralikkust tundnud â see maksab palju. Ma suutsin leida tee nende sisemiste uuendajateni, pĂŒĂŒdsin sisendada reaalsust, mitte neid mallipĂ”hiseid prioriteete. Kahju, et me ei jĂ”udnud âpuzzleâdeniâ kodeerimises â kui igaĂŒks oleks pidanud tegema osa koodist ja, ĂŒhendades kĂ”ik osad ĂŒheks, oleksime saanud ĂŒhe suure töötava programmiâŠ
Loodan, et kunagi tunnevad nad seda kÔik⊠aga praegu on allolevalt kogutud ekraanipildid mÔnede tudengite arvustustest kahe aasta jooksul.

Töödeldes jÀreldusi kellegi programmeerija karjÀÀri edust on veel liiga vara, kuna praegu Ôpib enamik sellest grupist kÔrgkoolis. Aeg nÀitab.
Loodan, et artikkel oli kasulik. AitÀh tÀhelepanu eest!
Loovust ja positiivset meeleolu, kolleegid!
Allikas: habr.com
