Základ každého programovania na... hádankách

Zdravím vás, obyvatelia Khabrovska!

V tomto článku chcem hovoriť o svojich skúsenostiach ako učiteľ programovania v C++ na vysokej škole technickej univerzity. Bola to skúsenosť, ktorá ma raz za život naučila. Keď príde reč na zaujímavosti z vašej osobnej minulosti, táto pasáž zo života vás napadne ako jedna z prvých.
Choď.

Najprv niečo o sebe.
V roku 2016 som inštitút s vyznamenaním ukončil s titulom Informačná bezpečnosť automatizovaných systémov. Počas štúdia som mohol opakovane realizovať svoj potenciál v písaní vedeckých článkov, účasti na súťažiach a grantoch. V roku 2015 som mal možnosť stať sa víťazom celoruskej súťaže mladých vedcov „UMNIK“. V roku 2016, pred ukončením štúdia, bol už zamestnaný vo veľkej organizácii v meste ako „Špecialista na informačnú bezpečnosť, kryptografiu a šifrovanie“.
Skrátka niečo takéto. Viete si predstaviť, že som stále mal predstavu o programovaní.

A je tu rok 2017. Postgraduálne štúdium. Požiadali ma, aby som jeden semester učil C++ na vysokej škole, za čo mi sľúbili dobré bonusy, aby som uľahčil bremeno postgraduálneho študenta a nič viac.

Úprimne povedané, mal som úprimný záujem vyskúšať si toto krédo.

Prvý pár
septembra. Prvý týždeň v škole. Prišli ku mne študenti. „Najneposlušnejšia skupina“ - tak sa im hovorilo.
23 ľudí. "Programátori".

Ako sa dalo očakávať, najskôr som sa predstavil. Diskrétne som im povedal obsah časti „Najprv niečo o sebe“...
Potom sa začala tá hrozná vec. Na otázku „Čo môžeš urobiť? študenti (odteraz ich tak budeme nazývať) odpovedali, že vedia urobiť trochu viac ako nič (no, to znamenalo, že niektorí z nich vedeli, ako vyzerá MS VS a mohli vytvoriť projekt „Ahoj svet“). .. Programátori. Posledný kurz…

Ďalej podrobne „vo farbách“ vysvetlili, že sa nič nenaučili a že vo všeobecnosti boli z programovania sklamaní...

Takmer všetky dni, kým moja ďalšia lekcia prebiehala takto:
Základ každého programovania na... hádankách

... ale deň predtým vznikla myšlienka vynaložiť úsilie na nápravu súčasnej situácie v mysliach a vedomí týchto mladých ľudí. A potom "Ostap sa nechal uniesť."

Úvod do programovania
Na ďalšiu hodinu som priniesol... puzzle.
Áno áno. Puzzle. "Ako si vycvičiť draka." Pravidlá boli jednoduché. Skupina bola rozdelená na 3 tímy. Každý tím zostavil svoju časť. Niektoré sú les, iné sú zemou, iné sú drakom v strede obrazu. Kým celý pár skladal puzzle, povedal som im to skladanie puzzle je tiež programovanieže programátori často používajú kód niekoho iného, ​​že každý projekt má niekoľko rôznych tímov, funkcií, modulov...
Postupne sa do procesu zapájali tí najletargickejší žiaci.
Keď som dokončil vtieranie myšlienky programovania do obchodných konceptov, procesov a... hádaniek, nastal čas stanoviť pravidlá školenia.
Na každú hodinu si mal každý žiak zapísať do zošita 10 pojmov z IT. Akýkoľvek. Každý má svoje. Ide o to, že som vzal jeden študentský zošit a našiel som medzi všetkými výrazmi maximálne uplatňované a spýtal sa na ne iného študenta. Keď iný študent povie: „Ja som si ten výraz nezapísal,“ nenastal žiaden trest (kvôli zdravému rozumu), ale tento študent si musel „chýbajúce“ výrazy zapísať (ako všetci ostatní, ktorí ich nemali) a nájsť ich význam pri ďalšom zamestnaní.

To sme urobili. Každá hodina začínala veselou náhodnosťou vo vzťahu k dvom alebo trom študentom. Chlapci mali nadšenie pre tento proces.

Témy lekcií
Na začiatku školenia je veľmi dôležité poskytnúť študentom dobrú literatúru. Podľa mňa ideálna kniha bola:
Základ každého programovania na... hádankách

Raz som to musel tajne čítať a objímať Microsoft Visual Studio. Potom som bol schopný pochopiť programovanie takmer od nuly. Perfektná možnosť.

Skromne idete za študentmi a poviete: „Aby ste sa stali programátormi, stačí si prečítať a vyskúšať všetko v tejto knihe,“ a hodíte knihu na stôl. Hlavné je nepomýliť si knihy v batohu...

Pred každou témou som sa určite musel dôkladne pripraviť. Čítal som toho istého Laforeta a niekoľko ďalších zaujímavých zdrojov z internetu.
Vysvetlenie išlo takmer od nuly. Okrem toho bolo potrebné pochopiť, kde boli základné vedomosti študentov deduktívne odrezané.
Polia -> Práca s pamäťou (konštruktory) -> Odkazy -> Ako funguje pamäť -> Jednotky -> Čo je fyzická jednotka -> Binárna reprezentácia údajov...
Základ každého programovania na... hádankách

Veľmi silný crash test znalosti základných faktov o programovaní. Už nie som programátor, som historik!

A tak to znamená, že historické bitky sa odohrávajú pre niekoľko párov za sebou. Jedného dňa sa do našej kancelárie pozrie sekretárka z oddelenia a keď vidí skupinu, vyvalí oči, pozrie sa a zatvorí dvere. Ako mi neskôr povedali, bola šokovaná, že TÁTO skupina sedela tak ticho a počúvala ma tak pozorne... Eh, kľudne.

Laboratórne práce
Prvou aplikovanou informáciou sú prvé „laboratóriá“. Celkovo skupina počas semestra absolvovala 10 laboratórnych prác. Najprv vyrobili najjednoduchšiu konzolu a + b, a v tom poslednom napísali síce konzolové, ale celkom zaujímavé aplikácie, ako napríklad výpočet hodnoty integrálu nejakej ľubovoľne danej funkcie jednou z troch metód - približne rovnaké úlohy boli na záverečnej certifikácii - kurzová práca.

To je len akceptačný prístup nie bol známy. Počas celého štúdia na inštitúte som sa stretával s tým, že byť šikovný a vedieť podávať správy nie je to isté. Toto mi vôbec nevyhovovalo.

- Chlapci, pomyslel som si. Vybudujme si „koncepčný“ vzťah. Ak si niekto z vás myslí, že nepotrebuje programovanie, dvere sú tam. Učím ťa zadarmo. Chcem tu vidieť len zvedavých, starostlivých a starostlivých nadšencov. "Žiadam všetkých ostatných, aby nestrácali čas všetkých," povedal som v prvý deň laboratórnej práce. Potom 5 ľudí okamžite prestalo navštevovať hodiny. Bolo to logické a očakávané. So zvyškom bolo možné pokúsiť sa urobiť niečo zrozumiteľné.

- ... Nemám záujem sledovať, ako niekto robí vašu prácu, len aby som ju odovzdal. Možno nie ste programátori, ale budete ľuďmi v mojich triedach musieť.

Vyzeralo to takto:

case отличник

Študent si ku mne sadne, aby odovzdal svoju prácu.
— Robil si to sám?
- Áno.
- Čo to je?
- *odpovedá správne*.
*Pýtam sa ešte na pár bodov. Správne odpovede*
- prijatý. Skvelé.

case болтун

— Robil si to sám?
- Áno.
- Čo to je?
- *odpovedá nesprávne / neodpovedá*.
*Pýtam sa na pár ďalších bodov. Rovnaký výsledok*
- Neakceptovaný. ZLYHALO Čakám na reprízu.

case хорошист

— Robil si to sám?
- Áno.
- Čo to je?
- *odpovedá správne, ale nie sebavedomo, pláva*.
*Pýtam sa na pár ďalších bodov. Rovnaký výsledok*
- prijatý. Dobre.

case ровныйТроечник

— Robil si to sám?
- Nie.
- Prečo?
- Ťažko. Pomohol mi... *úprimne vymenuje vynikajúceho študenta zo skupiny*
- Rozumel si?
- Áno, rozumel som takmer všetkému.

- Čo to je?
- *odpovedá správne*.
*Pýtam sa na pár ďalších bodov. Odpovede viac-menej správne, niekedy úplne nesprávne, aj keď sú 50/50 správne a nesprávne*
- prijatý. Dobre.

Opisovať všetky ostatné prípady nemá zmysel. Áno, „dobrý študent“ môže byť nespokojný s tým, že študent „C“ dostane rovnakú známku na základe čestnosti. Potom všetko závisí od nálady. Alebo požiadam „dobrého študenta“, aby sa pozrel na podlahu, pretože „teraz vypustím štipku múdrosti“ a potom vám poviem podstatu prístupu, opíšem, čo má v živote väčšiu hodnotu a vysvetlím že pre študenta „C“ bolo oveľa ťažšie prejsť ako pre neho, „dobrého študenta.“ atď...
... alebo, ako kedysi môj učiteľ, nakreslím malý zúbok do škatuľky oproti tomuto nespokojnému človeku a nabudúce zaňho osobne dokončím laboratórne práce. Len. Aby ste „neuhasili“ svojich kamarátov.

Základ každého programovania na... hádankách

Оценки
Vzdelávací proces, tak ako celý svet, sa doslova topí v cenovkách a známkach.
Aj študenti sú ľudia, aj tu sa však podľa mňa mal „utriasť“.
Počas semestra každý dostal bonusovú úlohu. Zaregistrujte sa pre github.com, nahrajte tam prázdny projekt C++, urobte 2 aktualizácie, odovzdajte ich a pošlite ich. Na tieto akcie bolo pridelených 15. Áno, áno, nie 4, nie 5, ale 15. Traja na to prišli. To bolo nejako pochopiteľné pre psychotyp študenta, ale potom tu bol ďalší prípad.
Raz náš pár posunuli tak, že bola posledná, a ešte k tomu cez pár okien. 15 ľudí však naň predsa len prišlo. Nechcel som vysvetľovať novú tému na počesť takého hrdinstva, keďže čisto v témach sme už pokročili celkom dobre + ďalšia téma nebola veľmi jednoduchá pre unavené mozgy (môj a študentov). Potom som sa rozhodol hovoriť o filozofii.

— Oznamujem príťažlivosť bezprecedentnej štedrosti. Každý mi hovorí, akú známku mu mám dať za dnešný pár.
Každý chcel „A“.
"Zvážte to už tam," povedal som. Všetci boli šťastní.
Ticho.
- prečo nikto nechcel? 7-ku alebo 10-ku?
Všetci vytreštili oči a začali sa hlúpo usmievať.
- Stavíš sa? Do časopisu?! - ozval sa hlas zo zadnej lavice.
- Áno Ľahko! - Povedal som: - Oznamujem bleskový útok za podmienok, kto odpovie na 10 mojich otázok - Stavím sa dňa 20 do časopisu, bez úlovku, kto neodpovie, je ten pravý -10 (mínus desať).

„Tím sa posilnil, začala sa debata,“ všetci poctivo získali známky. Dvaja sa prihlásili dobrovoľne. S menšími nepresnosťami sa striedali s 10 otázkami o zásobníku, fronte, konštruktérovi, deštruktore, zberači odpadkov, zapuzdrení, polymorfizme, hašovacích funkciách...
Každý bol nakreslený v časopise 20... ale dôležitosť časopisu a známok klesla v očiach všetkých. Teraz ľutujem, že som sa neopýtal, či by sa chceli s niekým „podeliť“ o svoje hodnotenie. Zdá sa mi, že by sa podelili... Odteraz všetci odovzdávali „laboratórium“ s vedomosťami a poctivosťou.

Od tohto momentu sa objavil ďalší typ laboratórnej dodávky:


case честноНеЕгоНоОнПытался

— Robil si to sám?
- Nie.
- Prečo?
- Ťažko. Pomohol mi... *úprimne vymenuje vynikajúceho študenta zo skupiny*
- Rozumel si?
— Sergej Nikolajevič, úprimne, ničomu nerozumiem, tak som ku každému riadku napísal komentár — no, to nie je moja vec, budem traktorista
- Čo to je?
— *prečíta komentár oproti riadku*.
- ...
- ...
— Aký je rozdiel medzi bieloruským MTZ a Don 500 a K700?
- ??!.. Prvým je kolesový traktor vyrobený v Minsku, často používaný v ľahkých a stredných typoch poľnohospodárskej výroby. Má tiež malé kolesá vpredu a veľké kolesá vzadu. Don 500 je v podstate kombajn a K-700 Kirovets je sovietsky terénny kolesový traktor na všeobecné použitie, trakčná trieda 5.
- prijatý. Dobre (!!!).
- Ďakujem, Sergej Nikolajevič!!!

V mojej domovine je hovoriť o TractorA skoro ako hovoriť o SOLID tu.

génius
V mojej skupine bol génius. Žiak veľmi meškal už z prvej hodiny a skladačku nedokončil spolu so všetkými ostatnými. Potom som ho požiadal, aby urobil to, čo som pre všetkých naplánoval na ďalšiu hodinu - napísal si na papier, čo ho zaujíma, čo ho zaujíma. Podľa výsledkov mal „Genius“ 2-3 riadky: niečo ako „Uvedomujem si nezmyselnosť bytia“...

...Och, bože, v mojej skupine mám druhého Lao Tzu a Kojimu v jednej osobe...
Základ každého programovania na... hádankách

Na moje prekvapenie na prvých dvoch hodinách naozaj bravúrne odpovedal na otázky o pojmoch, no efekt netrval dlho. „Génius“ prestal navštevovať hodiny a nabudúce prišiel len preto, aby zložil prvú laboratórnu prácu, ktorú úspešne dokončil. neprešlo z objektívnych príčin. Potom kvôli absencii prirodzene nahromadil dlhy, ktoré, ako veril, Jednoducho som ho musel počítať, takpovediac, „bratsky“.
Neúčasť párov + zvýšená tepová frekvencia bola v rozpore so stanovenými zásadami dochádzky na moje hodiny. „Genius“ mal len 2 východiská zo situácie – rehabilitovať sa (očakávaná cesta) alebo sa vzdať vyučovania a dúfať v „C“ od dekanátu, aby sa zbavil flákača.
No, toto je „Genius“... musíte konať „geniálne“ hneď. Tento mladý muž nenašiel nič lepšie, ako napísať do všeobecného dialógu na VK (kde som bol ja a všetci študenti v tejto skupine) nahnevanú tirádu s nadávkami a urážkami na mňa.

Hmm... Sklamanie.
Najzarážajúcejšie bolo, že pred dokončením trestnej operácie zo strany vedenia kolégia sa mi rozhodol ospravedlniť. Prečo? - Úprimne nerozumiem. V tom čase som bol už dávno nezávislý od kritiky, najmä od takej úprimne hlúpej kritiky. Moju osobnosť to neovplyvnilo, ale procesy sú procesy a ako učiteľ som to nemohol neoznámiť. Ako sa ukázalo, už počas štúdia sa na neho nahromadilo toľko sťažností, že sa tento prípad ukázal ako posledný. Bol vylúčený. Z posledného ročníka učilišťa.
Možno ma už dlho sleduje pohľadom ostreľovacej pušky, ale úprimne povedané, je mi to jedno.
Eh, génius, si bezcitný...

Epilóg
Pre mňa osobne bola učiteľská skúsenosť jednou z najosvetľujúcejších. To mi pomohlo upevniť si základné znalosti programovania po štúdiu na inštitúte. Cítil som sa sebavedomý vo zvolenej špecialite (škála dostupných špecialít). Zvlášť dôležitá je skutočnosť, že „najzlobivejšia skupina“ ma naplnila rešpektom a priateľskosťou - to stojí za veľa. Podarilo sa mi nájsť cestu k ich vnútorným inovátorom, snažil som sa im vštepiť realitu, a nie tieto stereotypné priority. Škoda, že sme sa nedostali k „puzzle“ v kódovaní – keď by časť kódu musel urobiť každý a spojením všetkých častí do jednej by sme dostali veľký funkčný program...
Dúfam, že to raz pocíti každý z nich... ale zatiaľ nižšie sú screenshoty s recenziami od niekoľkých študentov po 2 rokoch.

Základ každého programovania na... hádankách

Je príliš skoro robiť závery o úspechu kariéry programátora pre niektorého z nich, pretože väčšina z tejto skupiny teraz študuje na univerzite. Čas ukáže.

Dúfam, že článok bol užitočný. Ďakujem za tvoju pozornosť!
Kreatívny úspech a pozitívna nálada, kolegovia!

Zdroj: hab.com

Pridať komentár