Základ každého programování na... hádankách

Zdravím vás, obyvatelé Chabrovska!

V tomto článku chci mluvit o svých zkušenostech jako učitel programování v C++ na vysoké škole technické univerzity. Byla to životní zkušenost, která mě hodně naučila. Pokud jde o zajímavosti z vaší osobní minulosti, tato pasáž ze života je jedna z prvních, která vás napadne.
Jít.

Nejprve něco o sobě.
V roce 2016 jsem na institutu promoval s vyznamenáním v oboru Informační bezpečnost automatizovaných systémů. Během studia jsem mohl opakovaně realizovat svůj potenciál v psaní vědeckých článků, účastí v soutěžích a grantech. V roce 2015 jsem měl možnost stát se vítězem celoruské soutěže pro mladé vědce „UMNIK“. V roce 2016, před dokončením studia, byl již zaměstnán ve velké organizaci ve městě jako „Specialista na bezpečnost informací, kryptografii a šifrování“.
Zkrátka něco takového. Dokážete si představit, že jsem měl stále představu o programování.

A je tu rok 2017. Postgraduální studium. Byl jsem požádán, abych vyučoval C++ na vysoké škole po dobu jednoho semestru, za což mi byly slíbeny dobré bonusy, které zmírnily zátěž postgraduálního studenta, a nic víc.

Abych byl upřímný, měl jsem upřímný zájem vyzkoušet si toto krédo.

První pár
Září. První týden školy. Přišli za mnou studenti. "Nejzlobivější skupina" - tak se jim říkalo.
23 lidí. "Programátoři".

Podle očekávání jsem se nejprve představil. Nenápadně jsem jim řekl obsah části „Nejdřív něco o sobě“...
Pak začala ta strašná věc. Na otázku "Co umíš?" studenti (od nynějška jim tak budeme říkat) odpověděli, že umí trochu víc než vůbec nic (no, to znamenalo, že někteří věděli, jak MS VS vypadá a mohli vytvořit projekt „Ahoj světe“). .. Programátoři. Poslední kurz…

Dále podrobně „v barvách“ vysvětlili, že je nic nenaučili a že jsou obecně z programování zklamaní...

Téměř všechny dny do mé další lekce probíhaly takto:
Základ každého programování na... hádankách

... ale den předtím vznikl nápad vynaložit úsilí na nápravu současné situace v myslích a vědomí těchto mladých lidí. A pak "Ostap se nechal unést."

Úvod do programování
Na další lekci jsem přinesl... hádanku.
Ano ano. Hádanka. "Jak vycvičit draka." Pravidla byla jednoduchá. Skupina byla rozdělena na 3 týmy. Každý tým sestavil svou část. Některé jsou les, jiné země, další jsou drak uprostřed obrázku. Zatímco celý pár skládal puzzle, řekl jsem jim to skládání puzzle je také programováníže programátoři často používají kód někoho jiného, ​​že každý projekt má několik různých týmů, funkcí, modulů...
Postupně se do procesu zapojili ti nejletargičtější studenti.
Když jsem dokončil vtírání myšlenky programování do obchodních konceptů, procesů a... hádanek, nastal čas stanovit pravidla školení.
Každý žák si měl na každou hodinu zapsat do sešitu 10 termínů z IT. Žádný. Každý má své. Jde o to, že jsem vzal sešit jednoho studenta a našel mezi všemi pojmy maximálně uplatněno a zeptal se na ně jiného studenta. Když jiný student řekne: „Ten výraz jsem si nezapsal“, nedošlo k žádnému postihu (kvůli zdravému rozumu), ale tento student musel „chybějící“ výrazy zapsat (jako všichni ostatní, kteří je neměli) a najít jejich význam podle dalšího povolání.

To jsme udělali. Každá lekce začínala veselou nahodilostí ve vztahu ke dvěma nebo třem studentům. Kluci měli nadšení pro tento proces.

Témata lekcí
Při zahájení výcviku je velmi důležité poskytnout studentům dobrou literaturu. Podle mého názoru byla ideální kniha:
Základ každého programování na... hádankách

Svého času jsem to musel tajně číst a objímat Microsoft Visual Studio. Pak jsem byl schopen porozumět programování téměř od nuly. Perfektní možnost.

Skromně jdete ke studentům a říkáte: „Abyste se stali programátory, stačí si přečíst a vyzkoušet všechno v této knize,“ a hodíte knihu na stůl. Hlavní je si nesplet knihy v batohu...

Před každým tématem jsem se určitě musel důkladně připravit. Četl jsem stejného Laforeta a několik dalších zajímavých zdrojů z internetu.
Vysvětlení šlo téměř od nuly. Navíc bylo nutné pochopit, kde byly základní znalosti studentů deduktivně odříznuty.
Pole -> Práce s pamětí (konstruktory) -> Odkazy -> Jak funguje paměť -> Jednotky -> Co je to fyzická jednotka -> Binární reprezentace dat...
Základ každého programování na... hádankách

Velmi silný crash test znalostí základních faktů o programování. Už nejsem programátor, jsem historik!

A tak to znamená, že historické bitvy se odehrávají pro několik dvojic za sebou. Jednoho dne se do naší kanceláře podívá sekretářka z oddělení a když vidí skupinu, vytřeští oči, podívá se a zavře dveře. Jak mi bylo později řečeno, byla šokována, že TATO skupina seděla tak tiše a poslouchala mě tak pozorně... Eh, snadné.

Laboratorní práce
První aplikovanou informací jsou první „laboratoře“. Celkem skupina během semestru absolvovala 10 laboratorních prací. Nejprve vyrobili nejjednodušší konzoli a + b, a v posledně jmenovaném psali sice konzolové, ale docela zajímavé aplikace, např. výpočet hodnoty integrálu nějaké libovolně dané funkce pomocí jedné ze tří metod - přibližně stejné úkoly byly na závěrečné certifikaci - práce na kurzu.

To je jen akceptační přístup ne byl známý. Po celou dobu studia na ústavu jsem se potýkal s tím, že být chytrý a umět podávat zprávy není totéž. Tohle mi vůbec nesedlo.

- Kluci, přemýšlel jsem. Vybudujme si „koncepční“ vztah. Pokud si někdo z vás myslí, že nepotřebujete programování, dveře jsou támhle. Učím tě zdarma. Chci zde vidět jen zvědavé, starostlivé a starostlivé nadšence. "Žádám všechny ostatní, aby neztráceli čas všech," řekl jsem první den laboratorní práce. Poté 5 lidí okamžitě přestalo navštěvovat kurzy. Bylo to logické a očekávané. Se zbytkem bylo možné zkusit udělat něco srozumitelného.

- ... Nezajímá mě, jak někdo dělá vaši práci, jen abych ji předal. Možná nejste programátoři, ale budete lidmi v mých třídách musím.

Vypadalo to takto:

case отличник

Přisedne si ke mně student, abych odevzdal svou práci.
— Udělal jsi to sám?
- Ano.
- Co je to?
- *odpoví správně*.
*Zeptám se na několik dalších bodů. Správné odpovědi*
- přijato. Skvělý.

case болтун

— Udělal jsi to sám?
- Ano.
- Co je to?
- *odpoví špatně / neodpoví*.
*Zeptám se na několik dalších bodů. Stejný výsledek*
- Nepřijato. SELHLA Čekám na reprízu.

case хорошист

— Udělal jsi to sám?
- Ano.
- Co je to?
- *odpoví správně, ale ne sebevědomě, plave*.
*Zeptám se na několik dalších bodů. Stejný výsledek*
- přijato. Pokuta.

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

— Udělal jsi to sám?
- Ne.
- Proč ne?
- Obtížné. Pomohl mi... *upřímně jmenuje vynikajícího studenta ze skupiny*
- Rozuměl jsi?
- Ano, rozuměl jsem téměř všemu.

- Co je to?
- *odpoví správně*.
*Zeptám se na několik dalších bodů. Odpovědi víceméně správně, někdy úplně špatně, i když jsou 50/50 správné a nesprávné*
- přijato. Pokuta.

Nemá smysl popisovat všechny ostatní případy. Ano, „dobrý student“ může být nespokojený s tím, že student „C“ dostane stejnou známku na základě poctivosti. Pak už vše záleží na náladě. Nebo požádám „dobrého studenta“, aby se podíval na podlahu, protože „teď vypustím špetku moudrosti“, a pak vám řeknu podstatu přístupu, popíšu, co má v životě větší hodnotu, a vysvětlím že pro studenta „C“ bylo mnohem obtížnější projít, než pro něj, „dobrého studenta.“ atd…
... aneb, jak to kdysi udělal můj učitel, nakreslím do schránky na deník naproti tomuto nespokojenci malý zoubek a příště za něj osobně dokončím laboratorní práci. Prostě. Abyste „neuhasili“ své spolubojovníky.

Základ každého programování na... hádankách

Оценки
Vzdělávací proces se jako celý svět doslova topí v cenovkách a známkách.
I studenti jsou lidé, nicméně i zde se měl dle mého názoru „rozhýbat“.
V průběhu semestru každý dostal bonusový úkol. Zaregistrujte se pro Github.com, nahrajte tam prázdný projekt C++, udělejte 2 aktualizace, odevzdejte je a pošlete je. Pro tyto akce bylo přiděleno 15. Ano, ano, ne 4, ne 5, ale 15. Tři na to přišli. To bylo nějak pochopitelné pro psychotyp studenta, ale pak tu byl další případ.
Jednou byl náš pár přestěhován tak, že byla poslední, a také přes pár oken. Přesto na ni přišlo 15 lidí. Nechtěl jsem na počest takového hrdinství vysvětlovat nové téma, protože čistě v tématech jsme již pokročili docela dobře + další téma nebylo pro unavené mozky (můj a studentů) příliš jednoduché. Pak jsem se rozhodl mluvit o filozofii.

— Oznamuji přitažlivost nebývalé štědrosti. Každý mi říká, jakou známku mu mám dát za dnešní dvojici.
Každý chtěl „A“.
"Zvažte to už tam," řekl jsem. Všichni byli šťastní.
Ticho.
- proč nikdo nechtěl? 7-ku nebo 10-ku?
Všichni vytřeštili oči a začali se přihlouple usmívat.
- Vsadíte se? Do časopisu?! - ozval se hlas ze zadního pultu.
- Ano Snadno! - Řekl jsem: - Vyhlašuji bleskový útok za podmínek, kdo odpoví na 10 mých otázek - vsadím se dne 20 do časopisu, bez úlovku, kdo neodpoví, je ten pravý -10 (mínus deset).

„Tým se vzchopil, začala debata,“ všichni poctivě získali známky. Dva se přihlásili dobrovolně. S drobnými nepřesnostmi se střídali s 10 otázkami ohledně zásobníku, fronty, konstruktoru, destruktoru, garbage collectoru, zapouzdření, polymorfismu, hashovacích funkcí...
Každý byl nakreslen v časopise 20... ale důležitost časopisu a známek v očích všech klesla. Nyní lituji, že jsem se nezeptal, zda by se o své hodnocení nechtěli s někým „podělit“. Zdá se mi, že by se podělili... Od této chvíle všichni předávali „laboratoř“ se znalostmi a poctivostí.

Od této chvíle se objevil další typ laboratorní dodávky:


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

— Udělal jsi to sám?
- Ne.
- Proč ne?
- Obtížné. Pomohl mi... *upřímně jmenuje vynikajícího studenta ze skupiny*
- Rozuměl jsi?
— Sergej Nikolajevič, upřímně, ničemu nerozumím, tak jsem ke každému řádku napsal komentáře — no, to není moje věc, budu traktorista
- Co je to?
— *přečte komentář naproti řádku*.
- ...
- ...
— Jaký je rozdíl mezi Belarus MTZ a Don 500 a K700?
- ??!.. První je kolový traktor vyrobený v Minsku, často používaný v lehkých a středních typech zemědělské výroby. Má také malá kolečka vpředu a velká kolečka vzadu. Don 500 je v podstatě kombajn a K-700 Kirovets je sovětský terénní kolový traktor pro všeobecné použití, trakční třídy 5.
- přijato. Pokuta (!!!).
- Děkuji, Sergeji Nikolajeviči!!!

V mé vlasti je mluvit o TractorA skoro jako mluvit o SOLID zde.

Genius
V mé skupině byl génius. Žák se z první třídy velmi opozdil a hádanku nedokončil společně se všemi ostatními. Pak jsem ho požádal, aby udělal to, co jsem pro všechny naplánoval na další hodinu – napsal si na papír, co ho zajímá, co ho zajímá. Podle výsledků měl „Genius“ 2-3 řádky: něco jako „Uvědomuji si marnost bytí“...

...Ach bože, ve své skupině mám druhého Lao Tzu a Kojimu v jedné osobě...
Základ každého programování na... hádankách

K mému překvapení v prvních dvou hodinách opravdu bravurně odpovídal na otázky týkající se pojmů, ale efekt na sebe nenechal dlouho čekat. „Génius“ přestal chodit na hodiny a příště přišel jen proto, aby složil první laboratorní práci, kterou úspěšně dokončil. neprošel z objektivních důvodů. Pak kvůli absenci přirozeně nahromadil dluhy, které, jak věřil, Byl jsem prostě nucen s ním počítat, abych tak řekl, „bratrsky“.
Neúčast párů + zvýšená tepová frekvence byla v rozporu se zavedenými zásadami docházky na mé hodiny. „Genius“ měl jen 2 možnosti, jak ze situace ven – rehabilitovat se (očekávaná cesta) nebo se vzdát výuky a doufat v „C“ udělené děkanským úřadem, aby se zbavil flákače.
No, tohle je "Genius"... musíte jednat "skvěle" hned. Tento mladý muž nenašel nic lepšího, než napsat do obecného dialogu na VK (kde jsem byl já a všichni studenti v této skupině) rozzlobenou tirádu s nadávkami a urážkami na mě.

Hmm... Zklamání.
Nejvíce zarážející bylo, že se mi před dokončením represivní operace ze strany vedení koleje rozhodl omluvit. Proč? - Upřímně to nechápu. V té době jsem byl již dlouho nezávislý na kritice, zvláště na takové upřímně hloupé kritice. Moje osobnost nebyla ovlivněna, ale procesy jsou procesy a jako učitel jsem to nemohl nehlásit. Jak se ukázalo, už během studií se na něj nahromadilo tolik stížností, že se tento případ ukázal jako poslední. Byl vyloučen. Z posledního ročníku učiliště.
Možná mě už dlouho pozoroval pohledem odstřelovací pušky, ale abych byl upřímný, je mi to jedno.
Eh, génie, jsi bezcitný...

Epilog
Pro mě osobně byla pedagogická zkušenost jedna z nejvíce poučných. To mi pomohlo upevnit si základní znalosti programování po studiu na ústavu. Cítil jsem se jistě ve vybrané specialitě (rozsah dostupných specialit). Obzvláště důležitá je skutečnost, že „nejzlobivější skupina“ mě naplnila respektem a přátelskostí - to stojí za hodně. Podařilo se mi najít cestu k jejich vnitřním inovátorům, snažil jsem se jim vštípit realitu a ne tyto stereotypní priority. Škoda, že jsme se nedostali k „puzzle“ v kódování – kdy by každý musel udělat část kódu a spojením všech částí do jedné bychom dostali velký funkční program...
Doufám, že to jednoho dne pocítí každý z nich... ale zatím jsou níže screenshoty s recenzemi od několika studentů po 2 letech.

Základ každého programování na... hádankách

Je příliš brzy dělat závěry o úspěchu kariéry programátora pro kteréhokoli z nich, protože nyní většina této skupiny studuje na univerzitě. Čas ukáže.

Doufám, že článek byl užitečný. Děkuji za pozornost!
Kreativní úspěch a pozitivní nálada, kolegové!

Zdroj: www.habr.com

Přidat komentář