Основата на секое програмирање на... загатки

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

Во оваа статија сакам да зборувам за моето искуство како професор по програмирање C++ на колеџ на технички универзитет. Тоа беше искуство кое еднаш во животот ме научи многу. Кога станува збор за интересни факти од вашето лично минато, овој пасус од животот е еден од првите што ви паѓа на ум.
Оди

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

И еве ја 2017 година. Постдипломски студии. Ме замолија да предавам C++ на факултет еден семестар, за што ми ветија добри бонуси за да му го олеснат товарот на дипломиран студент и ништо повеќе.

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

Првиот пар
септември. Првата недела на училиште. Кај мене дојдоа студенти. „Најпалава група“ - така се нарекуваа.
23 луѓе. „Програмери“.

Очекувано, прво се претставив. Дискретно им ја кажав содржината на делот „Прво, малку за себе“...
Тогаш почна страшното. На прашањето „Што можете да направите? учениците (од сега па натаму така ќе ги нарекуваме) одговорија дека можат да направат нешто повеќе од ништо (добро, тоа значеше дека некои од нив знаеле како изгледа MS VS и можат да создадат проект „Здраво светов“). .. Програмери. Последен курс…

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

Речиси сите денови до мојата следна лекција минуваа вака:
Основата на секое програмирање на... загатки

... но ден претходно се наметна идејата да се вложат напори за корекција на моменталната состојба во главите и свеста на овие млади луѓе. И тогаш „Остап се занесе“.

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

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

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

Едно време морав скришум да го прочитам додека го гушкав Microsoft Visual Studio. Тогаш можев да го разберам програмирањето речиси од нула. Совршена опција.

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

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

Многу силен краш тест за познавање на основните факти за програмирањето. Јас веќе не сум програмер, јас сум историчар!

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

Лабораториски работи
Првите применети информации се првите „лаборатории“. Вкупно, групата помина 10 лабораториски работи во текот на семестарот. Отпрвин ја направија наједноставната конзола a + b, а во вториот напишаа, иако базирани на конзоли, но доста интересни апликации, како што е пресметување на вредноста на интегралот на некоја произволно дадена функција користејќи еден од трите методи - приближно исти задачи беа и на конечната сертификација - работа на курсот.

Тоа е само пристапот на прифаќање Нема беше запознаен. За време на моите студии на институтот, се соочував со фактот дека да се биде паметен и да се биде способен да се полагаат извештаи не се иста работа. Ова воопшто не ми одговараше.

- Момци, размислував. Ајде да изградиме „концептуална“ врска. Ако некој од вас мисли дека не ви треба програмирање, вратата е таму. Те учам бесплатно. Сакам да видам овде само љубопитни, грижливи и грижливи ентузијасти. „Ги замолувам сите други да не губат време на сите“, реков на првиот ден од лабораториската работа. По ова, 5 лица веднаш престанаа да посетуваат настава. Ова беше логично и очекувано. Можеше да се обиде да направи нешто разбирливо со останатите.

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

Изгледаше вака:

case отличник

Еден студент седнува со мене да ја предаде својата работа.
- Дали го направи тоа сам?
- Да.
- Што е ова?
- *одговара точно*.
*Прашувам уште неколку точки. Одговори точно *
- прифати. Одлично.

case болтун

- Дали го направи тоа сам?
- Да.
- Што е ова?
- *одговара погрешно / не одговара*.
*Прашувам уште неколку точки. Истиот резултат*
- Не е прифатено. НЕПУШТЕ Го чекам повторното преземање.

case хорошист

- Дали го направи тоа сам?
- Да.
- Што е ова?
- *одговара точно, но не самоуверено, плива*.
*Прашувам уште неколку точки. Истиот резултат*
- прифати. Добро.

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

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

- Што е ова?
- *одговара точно*.
*Прашувам уште неколку точки. Одговори повеќе или помалку точно, понекогаш сосема погрешно, дури и ако е 50/50 точен и неточен*
- прифати. Добро.

Нема смисла да се опишуваат сите други случаи. Да, „добар студент“ може да биде незадоволен што студентот „Ц“ ја добива истата оценка, врз основа на искреност. Тогаш се зависи од расположението. Или го молам „добриот ученик“ да погледне во подот, затоа што „сега ќе фрлам малку мудрост“, а потоа ќе ви ја кажам суштината на пристапот, ќе опишете што е од поголема вредност во животот и ќе објаснам дека на ученикот „Ц“ му било многу потешко да положи отколку на „добриот ученик“.“ итн...
... или, како што направи мојот наставник еднаш, ќе нацртам мал заб во кутијата со дневник спроти овој незадоволен човек и следниот пат лично ќе ја завршам лабораториската работа за него. Само. За да не ги „изгаснете“ другарите.

Основата на секое програмирање на... загатки

Оценки
Образовниот процес, како и целиот свет, буквално се дави во ценовници и оценки.
И студентите се луѓе, меѓутоа, според мене, и овде требаше да се „разниша“ „рамката“.
Во текот на семестарот, на сите им беше дадена бонус задача. Регистрирајте се за github.com, прикачи празен C++ проект таму, направи 2 ажурирања, обврзи ги и туркај ги. За овие акции беа доделени 15. Да, да, не 4, не 5, туку 15. Тројца сфатија. Ова беше некако разбирливо за психотипот на студентот, но потоа имаше друг случај.
Еднаш нашата двојка беше преместена така што таа беше последна, а исто така и низ неколку прозорци. Сепак, до него дошле 15 луѓе. Не сакав да објаснувам нова тема во чест на таквото херојство, бидејќи веќе доста добро напредувавме чисто на теми + следната тема не беше баш едноставна за уморни мозоци (мојот и на студентите). Тогаш решив да зборувам за филозофија.

- Најавувам атракција на невидена великодушност. Сите ми кажуваат каква оценка да му дадам за денешниот пар.
Сите сакаа „А“.
„Размислете веќе таму“, реков. Сите беа среќни.
Тишината.
- зошто никој не сакаше? 7-ку или 10-ку?
На сите им се ококорија очите и почнаа глупаво да се смешкаат.
- Ќе се обложиш? На списанието?! - се слушна глас од задното биро.
- Да Лесно! - Реков, - најавувам Блиц по услови, кој ќе ми одговори на 10 прашања - ќе се обложим на 20 на списанието, без улов, кој не одговара е тој -10 (минус десет).

„Тимот се разбуди, почна дебата“, сите искрено заработија оценки. Двајца волонтираа. Со мали неточности, тие наизменично излегоа со 10 прашања за оџакот, редица, конструктор, деструктор, собирач на ѓубре, инкапсулација, полиморфизам, хаш функции...
Секој од нив беше нацртан во списание 20... но важноста на списанието и оценките паднаа во очите на сите. Сега жалам што не прашав дали би сакале да ја „споделат“ својата проценка со некого. Ми се чини дека би делеле... Отсега сите со знаење и чесност ја предадоа „лабораторијата“.

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


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

- Дали го направи тоа сам?
- Не.
- Зошто?
- Тешко. Ми помогна... *искрено именува одличен ученик од групата*
- Разбра ли?
- Сергеј Николаевич, искрено, ништо не разбирам, па напишав коментари до секоја линија - добро, тоа не е моја работа, јас ќе бидам тракторист
- Што е ова?
— *го чита коментарот спроти линијата*.
- ...
- ...
- Која е разликата помеѓу Белорусија МТЗ и Дон 500 и К700?
- ??!.. Првиот е трактор на тркала произведен во Минск, кој често се користи во лесни и средни видови земјоделско производство. Има и мали тркала напред и големи тркала назад. Дон 500 е во основа жетвар, а К-700 Кировец е советски општа намена теренски трактор со тркала, влечна класа 5.
- прифати. Добро (!!!).
- Благодарам Сергеј Николаевич!!!

Во мојата татковина, да се зборува за TractorA е скоро како да се зборува за SOLID овде.

Генијалец
Во мојата група имаше еден Гениј. Ученикот многу задоцнил од првиот час и не ја завршил сложувалката заедно со сите останати. Потоа го замолив да го направи она што го планирам за сите за следната лекција - да си напише на лист хартија што го интересира, што го интересира. Според резултатите, „Гениус“ имал 2-3 реда: нешто како „Ја сфаќам залудноста на битието“...

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

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

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

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

Основата на секое програмирање на... загатки

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

Се надевам дека статијата беше корисна. Ви благодариме за вниманието!
Креативен успех и позитивно расположение, колеги!

Извор: www.habr.com

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