Основа сваког програмирања на... слагалицама

Поздрав, становници Хабровска!

У овом чланку желим да говорим о свом искуству као професор програмирања Ц++ на колеџу на техничком универзитету. Било је то искуство једном у животу које ме је много научило. Када су у питању занимљиве чињенице из ваше личне прошлости, овај одломак из живота је један од првих који вам пада на памет.
Иди.

Прво, мало о себи.
2016. године сам дипломирао на институту са одличним успехом на смеру Информациона безбедност аутоматизованих система. Током студија више пута сам могао да остварим свој потенцијал у писању научних чланака, учешћу на конкурсима и грантовима. 2015. године имао сам прилику да постанем победник Сверуског такмичења младих научника „УМНИК“. 2016. године, пре завршетка студија, већ је био запослен у великој градској организацији као „Специјалац за безбедност информација, криптографију и шифровање“.
Укратко, овако нешто. Можете замислити да сам још увек имао идеју о програмирању.

И ево 2017. Постдипломске студије. Замолили су ме да предајем Ц++ на колеџу један семестар, за шта су ми обећани добри бонуси да олакшам терет постдипломца и ништа више.

Да будем искрен, био сам искрено заинтересован да се окушам у овом креду.

Први пар
Септембар. Прва недеља школе. Долазили су ми студенти. "Најнесташнија група" - тако су се звали.
23 особе. „Програмери“.

Очекивано, прво сам се представио. Дискретно сам им испричао садржај дела „Прво, мало о себи“...
Онда је почела страшна ствар. На питање "Шта можете да урадите?" ученици (од сада ћемо их тако звати) су одговорили да могу да ураде мало више него ништа (па, то је значило да неки од њих знају како изгледа МС ВС и да могу да направе пројекат „Здраво свет“). .. Програмери. Последњи курс…

Даље, детаљно су објаснили, „у бојама“, да их ништа нису учили и да су генерално разочарани програмирањем...

Скоро сви дани до мог следећег часа су прошли овако:
Основа сваког програмирања на... слагалицама

... али дан раније се јавила идеја да се у свести и свести ових младих људи уложи напор да се поправи тренутно стање. А онда се „Остап занео“.

Увод у програмирање
За следећу лекцију донео сам... слагалицу.
Да да. Пуззле. "Како да дресирате свог змаја." Правила су била једноставна. Група је била подељена у 3 тима. Сваки тим је саставио свој део. Неки су шума, други су земља, трећи су змај у центру слике. Док је цео пар слагао слагалицу, ја сам им то рекао састављање слагалице је такође програмирањеда програмери често користе туђи код, да сваки пројекат има неколико различитих тимова, карактеристика, модула...
Постепено су се у процес укључивали и најлетаргичнији ученици.
Када сам завршио са утрљавањем идеје о програмирању у пословне концепте, процесе и... загонетке, дошло је време да успоставим правила обуке.
За сваки час сваки ученик је морао да запише 10 појмова из ИТ-а у свеску. Било који. Свако има своје. Поента је да сам узео једну ученичку свеску и нашао међу свим појмовима максимално примењен и питао другог ученика о њима. Када други ученик каже: „Нисам записао тај термин“, није било казне (због здравог разума), али је тај ученик морао да запише „недостајуће“ појмове (као и сви други који их нису имали) а до следећег пронађите њихова значења.занимање.

То смо и урадили. Сваки час је почињао веселим случајем у односу на два-три ученика. Момци су имали ентузијазам за овај процес.

Теме лекције
При започињању обуке веома је важно да се студентима обезбеди добра литература. По мом мишљењу, идеална књига је била:
Основа сваког програмирања на... слагалицама

Једно време сам морао да га кришом читам док сам грлео Мицрософт Висуал Студио. Тада сам могао да разумем програмирање скоро од нуле. Савршена опција.

Скромно одете до ученика и кажете: „Да бисте постали програмери, само треба да прочитате и испробате све што је у овој књизи“, и баците књигу на сто. Главна ствар је да не помешате књиге у ранцу...

Пре сваке теме сам свакако морао темељно да се припремим. Читао сам истог Лафорета и неколико других занимљивих извора са интернета.
Објашњење је кренуло готово од нуле. Штавише, било је неопходно разумети где је основно знање ученика дедуктивно пресечено.
Низови -> Рад са меморијом (конструктори) -> Везе -> Како функционише меморија -> Дискови -> Шта је физички диск -> Бинарно представљање података...
Основа сваког програмирања на... слагалицама

Веома јак тест на крах знања о основним чињеницама о програмирању. Нисам више програмер, ја сам историчар!

И тако, значи да се историјске битке воде за неколико парова заредом. Једног дана, секретар из одељења погледа у нашу канцеларију и, угледавши групу, разрогачи очи, провири и затвори врата. Како ми је касније речено, била је шокирана што је ОВА група тако тихо седела и слушала ме тако пажљиво... Ех, полако.

Лабораторијски радови
Прва примењена информација је прва „лабораторија“. Група је укупно положила 10 лабораторијских радова током семестра. У почетку су направили најједноставнију конзолу а + б, а у потоњем су писали, додуше конзолне, али прилично занимљиве апликације, попут израчунавања вредности интеграла неке произвољно задате функције помоћу једне од три методе – приближно исти задаци су били и на завршној овери – курсни рад.

То је само приступ прихватања не био познат. Током студија на институту био сам суочен са чињеницом да бити паметан и умети да полажем извештаје није исто. Ово ми никако није одговарало.

- Момци, размишљао сам. Хајде да изградимо „концептуални“ однос. Ако неко од вас мисли да вам не треба програмирање, врата су тамо. Ја те учим бесплатно. Желим да видим овде само радознале, брижне и брижне ентузијасте. „Молим све остале да не губе свако време“, рекао сам првог дана рада у лабораторији. Након овога, 5 људи је одмах престало да похађа наставу. Ово је било логично и очекивано. Са осталима је било могуће покушати учинити нешто разумљиво.

- ... Не занима ме да гледам како неко ради твој посао само да бих га прошао. Можда нисте програмери, али бићете људи у мојим часовима морати.

Изгледало је овако:

case отличник

Студент седе са мном да предам свој рад.
— Јеси ли то сам урадио?
- Да.
- Шта је ово?
- *тачно одговара*.
* Питам за још пар тачака. Тачан одговор*
- прихваћено. Велики.

case болтун

— Јеси ли то сам урадио?
- Да.
- Шта је ово?
- *одговара погрешно / не одговара*.
* Питам за још пар тачака. Исти резултат*
- Није прихваћен. НИЈЕ УСПЕО Чекам понављање.

case хорошист

— Јеси ли то сам урадио?
- Да.
- Шта је ово?
- *одговара тачно, али не самоуверено, плива*.
* Питам за још пар тачака. Исти резултат*
- прихваћено. У реду.

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

— Јеси ли то сам урадио?
- Не.
- Зашто?
- Тешко. Помогао ми је... *искрено именује одличног ученика из групе*
- Да ли сте разумели?
- Да, разумео сам скоро све.

- Шта је ово?
- *тачно одговара*.
* Питам за још пар тачака. Одговори мање-више тачно, понекад потпуно погрешно, чак и ако је 50/50 тачно и нетачно*
- прихваћено. У реду.

Нема смисла описивати све друге случајеве. Да, „добар ученик“ може бити незадовољан што ученик „Ц“ добије исту оцену, на основу поштења. Онда све зависи од расположења. Или замолим „доброг ученика“ да погледа у под, јер „сад ћу бацити прстохват мудрости“, а онда ћу вам рећи суштину приступа, описати шта је у животу веће вредности и објаснити да је ученику "Ц" било много теже да положи него њему, "добром ђаку".", итд...
... или ћу, као што је мој учитељ једном урадио, нацртати мали зуб у кутији за дневник наспрам ове незадовољне особе и следећи пут ћу лично за њега завршити лабораторијски рад. Само. Да не би „угасили“ своје другове.

Основа сваког програмирања на... слагалицама

Процене
Образовни процес, као и цео свет, буквално се утапа у ценама и оценама.
И студенти су људи, међутим, по мом мишљењу, и овде је требало „протрести“ „оквир“.
Током семестра сви су добили бонус задатак. Регистрацију за Гитхуб.цом, отпремите празан Ц++ пројекат тамо, направите 2 ажурирања, урезујте их и гурните их. За ове акције додељено је 15. Да, да, не 4, не 5, већ 15. Тројица су схватила. Ово је некако било разумљиво студентовом психотипу, али онда је био још један случај.
Једном је наш пар преселио тако да је она била последња, и то кроз пар прозора. Међутим, на њега је ипак дошло 15 људи. Нисам желео да објашњавам нову тему у част таквог јунаштва, пошто смо већ сасвим добро напредовали само на темама + следећа тема није била баш једноставна за уморне мозгове (моје и студенте). Онда сам одлучио да причам о филозофији.

— Најављујем атракцију невиђене великодушности. Сви ми говоре коју оцену да му дам за данашњи пар.
Сви су желели "А".
„Разматрајте то већ тамо“, рекао сам. Сви су били срећни.
Тишина.
- зашто нико није хтео? 7-ку или 10-ку?
Сви су се разрогачили и почели су глупо да се смеју.
- Хоћеш ли се кладити? У часопис?! - чуо се глас са задњег стола.
- Да Лако! - Рекао сам, - Најављујем блитз по условима, ко одговори на 10 мојих питања - кладим се дана 20 часопису, без улова, ко не одговори тај је -КСНУМКС (минус десет).

„Екипа се опоравила, почела је дебата“, сви су поштено зарадили оцене. Двојица су се добровољно пријавила. Уз мање непрецизности, смењивали су се са 10 питања о стеку, реду, конструктору, деструктору, сакупљачу смећа, енкапсулацији, полиморфизму, хеш функцијама...
Сваки је нацртан у часопису 20... али важност часописа и оцена свима је пала у очи. Сада ми је жао што нисам питао да ли би желели да са неким „поделе“ своју процену. Чини ми се да би поделили... Од сада су сви са знањем и поштењем предавали „лабораторију”.

Од овог тренутка појавила се још једна врста лабораторијске испоруке:


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

— Јеси ли то сам урадио?
- Не.
- Зашто?
- Тешко. Помогао ми је... *искрено именује одличног ученика из групе*
- Да ли сте разумели?
— Сергеј Николајевич, искрено, ништа не разумем, па сам написао коментаре поред сваке линије — па, то није моја ствар, ја ћу бити тракториста
- Шта је ово?
— *чита коментар наспрам реда*.
-…
-…
— Која је разлика између Белорусије МТЗ и Дон 500 и К700?
- ??!.. Први је трактор точкаш произведен у Минску, који се често користи у лаким и средњим врстама пољопривредне производње. Такође има мале точкове напред и велике точкове позади. Дон 500 је у основи комбајн, а К-700 Кироветс је совјетски теренски трактор на точковима опште намене, вучна класа 5.
- прихваћено. Добро (!!!).
- Хвала, Сергеј Николајевичу!!!

У мојој домовини, причати о ТрацторА је скоро као да овде причам о СОЛИД-у.

Геније
У мојој групи је био геније. Ученик је закаснио већ на првом часу и није решио слагалицу заједно са осталима. Онда сам га замолио да уради оно што сам свима планирао за следећу лекцију – напише себи на папир шта га занима, шта га занима. Према резултатима, „Геније“ је имао 2-3 стиха: нешто попут „Схватам узалудност постојања“...

...О, Боже, у мојој групи имам другог Лао Цеа и Којиму у једној особи...
Основа сваког програмирања на... слагалицама

На моје изненађење, у прва два часа је заиста сјајно одговарао на питања о терминима, али ефекат није дуго трајао. „Геније” је престао да похађа наставу и следећи пут је дошао само да положи први лабораторијски рад, који је успешно завршио. није прошао из објективних разлога. Тада је, због изостанка, природно нагомилао дугове, који су, како је веровао, Једноставно сам био дужан да га, да тако кажем, убројим у „братски“.
Непохађање парова + повећан број откуцаја срца било је у супротности са утврђеним принципима похађања мојих часова. „Геније“ је имао само 2 излаза из ситуације – да се рехабилитује (очекивани пут) или одустане од наставе и нада се „Ц“ деканата како би се отарасио забушанта.
Па, ово је "Геније"... морате одмах да глумите "бриљантно". Овај младић није могао да нађе ништа боље него да у општем дијалогу на ВК (где смо били ја и сви ученици ове групе) напише љутиту тираду са псовкама и увредама упућеним мени.

Хмм... Разочарење.
Оно што је највише упадало у очи је то што је, пре завршетка казнене акције од стране руководства факултета, одлучио да ми се извини. За шта? - Искрено не разумем. У то време сам дуго био независан од критике, посебно такве искрено глупе критике. На моју личност то није утицало, али процеси су процеси и ја као наставник нисам могао да не пријавим ово. Како се испоставило, већ се током студија на њега накупило толико притужби да је овај случај био последњи. Био је избачен. Од последње године стручне школе.
Можда ме већ дуго посматра кроз призор снајперске пушке, али, да будем искрен, није ме брига.
Ех, геније, ти си бездушан...

Епилог
За мене лично, наставно искуство је било једно од најпоучљивијих. Ово ми је помогло да консолидујем своја основна знања о програмирању након студија на институту. Осећао сам уверење у изабрану специјалност (опсег доступних специјалитета). Од посебног значаја је чињеница да ме је „најнесташнија група“ прожела поштовањем и љубазношћу - ово много вреди. Успео сам да пронађем пут до њихових унутрашњих иноватора, покушао сам да убацим реалност, а не ове стереотипне приоритете. Штета што нисмо дошли до „загонетке“ у кодирању – када би сви морали да ураде део кода, а спајањем свих делова у један, добили бисмо велики радни програм...
Надам се да ће једног дана свако од њих осетити ово... али за сада, испод су сцреенсхотови са рецензијама неколико ученика после 2 године.

Основа сваког програмирања на... слагалицама

Прерано је доносити закључке о успеху каријере програмера за било кога од њих, јер сада већина ове групе студира на универзитету. Време ће показати.

Надам се да је чланак био користан. Хвала на пажњи!
Креативни успех и позитивно расположење, колеге!

Извор: ввв.хабр.цом

Додај коментар