Baza oricărei programe pe... puzzle-uri

Salutări, locuitori din Khabrovsk!

În acest articol vreau să vorbesc despre experiența mea ca profesor de programare C++ la o facultate la o universitate tehnică. A fost o experiență o dată în viață care m-a învățat multe. Când vine vorba de fapte interesante din trecutul tău personal, acest pasaj din viață este unul dintre primele care îți vin în minte.
Hai să mergem.

În primul rând, puțin despre mine.
În 2016, am absolvit institut cu mențiunea de diplomă în Securitatea Informațională a Sistemelor Automatizate. În timpul studiilor, mi-am putut realiza în mod repetat potențialul scriind articole științifice, participând la concursuri și granturi. În 2015, am avut ocazia să devin câștigătorul concursului rusesc pentru tineri oameni de știință „UMNIK”. În 2016, înainte de a-și termina studiile, era deja angajat într-o organizație mare din oraș ca „Specialist în securitatea informațiilor, criptare și criptare”.
Pe scurt, ceva de genul acesta. Vă puteți imagina că mai aveam o idee despre programare.

Și aici este 2017. Studii postuniversitare. Mi s-a cerut să predau C++ la o facultate timp de un semestru, pentru care mi s-au promis bonusuri bune pentru a ușura povara unui student absolvent și nimic mai mult.

Sincer să fiu, am fost sincer interesat să mă încerc în acest credo.

Prima pereche
Septembrie. Prima săptămână de școală. Studenții au venit la mine. „Cel mai obraznic grup” - așa se numeau.
23 de persoane. „Programatori”.

După cum era de așteptat, mai întâi m-am prezentat. Le-am spus discret conținutul părții „În primul rând, puțin despre mine”...
Apoi a început lucrul teribil. La întrebarea „Ce poți face?” studenții (le vom numi așa de acum încolo) au răspuns că pot face ceva mai mult decât nimic (ei bine, asta însemna că unii dintre ei știau cum arată MS VS și pot crea un proiect „Hello world”). .. Programatori. Ultimul curs…

Mai departe, ei au explicat în detaliu, „la culori”, că nu au fost învățați nimic și că, în general, au fost dezamăgiți de programare...

Aproape toate zilele până la următoarea mea clasă au mers așa:
Baza oricărei programe pe... puzzle-uri

... dar cu o zi înainte a apărut ideea de a depune eforturi pentru a corecta situația actuală în mintea și conștiința acestor tineri. Și apoi „Ostap s-a lăsat luat”.

Introducere în programare
Pentru următoarea lecție am adus... un puzzle.
Da Da. Puzzle. "Cum să îți dresezi dragonul." Regulile erau simple. Grupa a fost împărțită în 3 echipe. Fiecare echipă și-a adunat partea sa. Unele sunt pădurea, altele sunt pământul, altele sunt dragonul din centrul imaginii. În timp ce întregul cuplu punea cap la cap puzzle-ul, le-am spus asta a pune cap la cap un puzzle înseamnă și programarecă programatorii folosesc adesea codul altcuiva, că fiecare proiect are mai multe echipe diferite, caracteristici, module...
Treptat, cei mai letargici elevi s-au alăturat procesului.
Când am terminat de amestecat ideea de programare în concepte de afaceri, procese și... puzzle-uri, era timpul să stabilesc regulile de antrenament.
Pentru fiecare lecție, fiecare elev trebuia să noteze 10 termeni din IT într-un caiet. Orice. Fiecare are a lui. Ideea este că am luat caietul unui student și am găsit printre toți termenii aplicat maxim și a întrebat un alt student despre ele. Când un alt student spune: „Nu am scris acel termen”, nu a existat nicio penalizare (din cauza bunului simț), dar acel student a trebuit să noteze termenii „lipsă” (ca toți ceilalți care nu i-au avut) și își găsesc semnificațiile prin următoarea.ocupație.

Asta am făcut. Fiecare lecție începea cu o aleatorie veselă în raport cu doi sau trei elevi. Băieții au avut entuziasm pentru acest proces.

Subiecte de lecție
Când începeți pregătirea, este foarte important să oferiți studenților literatură bună. După părerea mea, cartea ideală a fost:
Baza oricărei programe pe... puzzle-uri

La un moment dat, a trebuit să-l citesc pe furiș în timp ce mă îmbrățișam cu Microsoft Visual Studio. Apoi am reușit să înțeleg programarea aproape de la zero. Opțiune perfectă.

Te duci cu modestie la studenți și le spui: „Pentru a deveni programatori, trebuie doar să citești și să încerci totul din această carte” și arunci cartea pe masă. Principalul lucru este să nu încurci cărțile din rucsac...

Înainte de fiecare subiect, cu siguranță a trebuit să mă pregătesc temeinic. Am citit același Laforet și alte câteva surse interesante de pe Internet.
Explicația a plecat aproape de la zero. Mai mult, a fost necesar să se înțeleagă unde cunoștințele de bază ale elevilor au fost tăiate deductiv.
Arrays -> Lucrul cu memoria (constructori) -> Link-uri -> Cum funcționează memoria -> Unități -> Ce este o unitate fizică -> Reprezentare binară a datelor...
Baza oricărei programe pe... puzzle-uri

Un test de blocare foarte puternic de cunoaștere a faptelor fundamentale despre programare. Nu mai sunt programator, sunt istoric!

Și astfel, înseamnă că au loc bătălii istorice pentru mai multe cupluri la rând. Într-o zi, o secretară de la departament se uită în biroul nostru și, văzând grupul, face ochii mari, se uită la ochi și închide ușa. După cum mi s-a spus mai târziu, a fost șocată că ACEST grup a stat atât de liniștit și m-a ascultat atât de atent... Eh, ușor.

Lucrări de laborator
Prima informație aplicată este primele „laboratoare”. În total, grupul a promovat 10 lucrări de laborator pe parcursul semestrului. La început au făcut cea mai simplă consolă a + b, iar în cel din urmă au scris, deși bazate pe consolă, dar destul de interesante aplicații, cum ar fi calcularea valorii integralei unei funcții date în mod arbitrar folosind una din trei metode - aproximativ aceleași sarcini erau la certificarea finală - munca de curs.

Aceasta este doar abordarea acceptării nu era familiar. Pe parcursul studiilor mele la institut, m-am confruntat cu faptul că a fi inteligent și a putea da rapoarte nu sunt același lucru. Asta nu mi-a convenit deloc.

- Băieți, mă gândeam. Să construim o relație „conceptuală”. Dacă cineva dintre voi crede că nu are nevoie de programare, ușa este acolo. Te predau gratis. Vreau să văd aici doar pasionați curioși, grijulii și grijulii. „Îi rog pe toți ceilalți să nu piardă timpul tuturor”, am spus în prima zi de lucru de laborator. După aceasta, 5 persoane au încetat imediat să mai frecventeze cursurile. Acest lucru a fost logic și de așteptat. Era posibil să încerci să faci ceva inteligibil cu restul.

- ... Nu sunt interesat să văd pe cineva făcându-ți treaba doar ca să treacă. S-ar putea să nu fiți programatori, dar veți fi oameni de la cursurile mele avea.

Arăta așa:

case отличник

Un student se așează cu mine să-și predea lucrarea.
— Ai făcut-o singur?
- Da.
- Ce este asta?
- *răspunde corect*.
*Întreb încă câteva puncte. Raspunde corect*
- admis. Grozav.

case болтун

— Ai făcut-o singur?
- Da.
- Ce este asta?
- *răspunde incorect / nu răspunde*.
*Întreb încă câteva puncte. Acelasi rezultat*
- Neacceptat. A EȘUAT Aștept reluarea.

case хорошист

— Ai făcut-o singur?
- Da.
- Ce este asta?
- *răspunde corect, dar nu cu încredere, înoată*.
*Întreb încă câteva puncte. Acelasi rezultat*
- admis. Amenda.

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

— Ai făcut-o singur?
- Nu.
- De ce?
- Greu. M-a ajutat... *numele sincer un elev excelent din grup*
- Ai inteles?
- Da, am înțeles aproape totul.

- Ce este asta?
- *răspunde corect*.
*Întreb încă câteva puncte. Răspunde mai mult sau mai puțin corect, uneori complet greșit, chiar dacă este 50/50 corect și incorect*
- admis. Amenda.

Nu are sens să descriem toate celelalte cazuri. Da, un „elev bun” poate fi nemulțumit că un elev „C” primește aceeași notă, bazată pe onestitate. Apoi totul depinde de starea de spirit. Sau îi rog pe „elevul bun” să se uite la podea, pentru că „acum voi scăpa un vârf de înțelepciune”, apoi vă voi spune esența abordării, vă voi descrie ceea ce în viață are mai multă valoare și vă voi explica că era mult mai greu pentru elevul „C” să treacă decât pentru el, „elevulul bun”.”, etc...
... sau, așa cum a făcut odată profesorul meu, voi desena un dinte mic în cutia de jurnal vizavi de această persoană nemulțumită și data viitoare voi finaliza personal munca de laborator pentru el. Doar. Ca să nu-ți „stingi” tovarășii.

Baza oricărei programe pe... puzzle-uri

Оценки
Procesul educațional, la fel ca întreaga lume, se îneacă literalmente în etichete de preț și note.
Elevii sunt și ei oameni, însă, după părerea mea, „cadrul” ar fi trebuit „zdruncinat” și aici.
Pe parcursul semestrului, toată lumea a primit o sarcină bonus. Înregistrează-te pentru github.com, încărcați acolo un proiect C++ gol, faceți 2 actualizări, comite-le și împinge-le. Pentru aceste acțiuni au fost atribuite 15. Da, da, nu 4, nu 5, ci 15. Trei și-au dat seama. Acest lucru era oarecum de înțeles pentru psihotipul studentului, dar apoi a mai fost un caz.
Odată, cuplul nostru a fost mutat astfel încât ea să fie ultima și, de asemenea, prin câteva ferestre. Cu toate acestea, 15 persoane au venit în continuare la el. Nu am vrut să explic un subiect nou în cinstea unui asemenea eroism, deoarece deja progresasem destul de bine doar pe subiecte + următorul subiect nu era foarte simplu pentru creierul obosit (al meu și al studenților). Atunci am decis să vorbesc despre filozofie.

— Anunț o atracție de o generozitate fără precedent. Toată lumea îmi spune ce notă să-i dau la perechea de azi.
Toată lumea își dorea un „A”.
„Gândiți-vă la asta deja acolo”, am spus. Toata lumea a fost fericita.
Tacerea.
- de ce nu a vrut nimeni? 7-ku sau 10-ku?
Ochii tuturor s-au mărit și au început să zâmbească prostesc.
- Vei paria? La revista?! - se auzi o voce de la biroul din spate.
- Da, usor! - Am spus, - Anunț un blitz în termeni, oricine răspunde la 10 dintre întrebările mele - Pariez pe 20 la revistă, fără captură, cine nu răspunde este acela -10 (minus zece).

„Echipa s-a animat, a început o dezbatere”, toată lumea câștigase cu sinceritate note. Doi s-au oferit voluntari. Cu mici inexactități, au făcut pe rând 10 întrebări despre stivă, coadă, constructor, destructor, colector de gunoi, încapsulare, polimorfism, funcții hash...
Fiecare a fost desenat într-o revistă 20... dar importanța revistei și a notelor a căzut în ochii tuturor. Acum regret că nu le-am întrebat dacă ar dori să „împartă” cuiva evaluarea lor. Mi se pare că vor împărtăși... De acum toată lumea a predat „laboratorul” cu cunoștință și onestitate.

Din acest moment a apărut un alt tip de livrare de laborator:


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

— Ai făcut-o singur?
- Nu.
- De ce?
- Greu. M-a ajutat... *numele sincer un elev excelent din grup*
- Ai inteles?
— Serghei Nikolaevici, sincer, nu înțeleg nimic, așa că am scris comentarii lângă fiecare rând - ei bine, asta nu este treaba mea, voi fi șofer de tractor
- Ce este asta?
— *citește comentariul vizavi de rând*.
- ...
- ...
— Care este diferența dintre Belarus MTZ și Don 500 și K700?
- ??!.. Primul este un tractor cu roți fabricat la Minsk, folosit adesea în tipurile ușoare și medii de producție agricolă. De asemenea, are roți mici în față și roți mari în spate. Don 500 este practic o mașină de recoltat, iar K-700 Kirovets este un tractor cu roți de uz general sovietic, clasa de tracțiune 5.
- admis. Bine (!!!).
- Mulțumesc, Serghei Nikolaevici!!!

În patria mea, a vorbi despre TractorA este aproape ca și cum ai vorbi despre SOLID aici.

geniu
Era un geniu în grupul meu. Elevul a întârziat foarte mult de la prima clasă și nu a finalizat puzzle-ul împreună cu toți ceilalți. Apoi l-am rugat să facă ceea ce am plănuit pentru toată lumea pentru următoarea lecție - scrie-și pe o foaie de hârtie ceea ce îl interesează, ce îl interesează. Conform rezultatelor, „Genius” avea 2-3 rânduri: ceva de genul „Îmi dau seama de inutilitatea ființei”...

...O, Doamne, în grupul meu îi am pe al doilea Lao Tzu și Kojima într-o singură persoană...
Baza oricărei programe pe... puzzle-uri

Spre surprinderea mea, la primele două clase a răspuns cu adevărat la întrebări despre termeni cu brio, dar efectul nu a durat mult. „Geniul” a încetat să mai frecventeze cursurile și data viitoare a venit doar pentru a trece de prima lucrare de laborator, pe care a finalizat-o cu succes. nu a trecut din motive obiective. Apoi, din cauza absenteismului, a acumulat în mod natural datorii, care, după cum credea, Pur și simplu eram obligat să-l număr, ca să zic așa, „într-un mod fratern”.
Eșecul de a participa la cupluri + creșterea ritmului cardiac a fost contrar principiilor consacrate de a participa la cursurile mele. „Geniul” a avut doar 2 căi de ieșire din situație - să se reactiveze (calea așteptată) sau să renunțe la cursuri și să spere la un „C” dat de decanat pentru a scăpa de leneș.
Ei bine, acesta este „Geniu”... trebuie să te comporți „genial” imediat. Acest tânăr nu a găsit nimic mai bun decât să scrie în dialogul general de pe VK (unde am fost eu și toți studenții din acest grup) o tiradă furioasă cu blesteme și jigniri adresate mie.

Hmm... Dezamăgire.
Cel mai izbitor a fost că, înainte de finalizarea operațiunii punitive din partea conducerii colegiului, a decis să-mi ceară scuze. Pentru ce? - Sincer nu înțeleg. La vremea aceea, eram de multă vreme independentă de critică, mai ales de o astfel de critică sincer stupidă. Personalitatea mea nu a fost afectată, dar procesele sunt procese, iar ca profesor nu m-am putut abține să nu raportez acest lucru. După cum sa dovedit, atât de multe plângeri s-au acumulat deja împotriva lui în timpul studiilor, încât acest caz s-a dovedit a fi ultimul. A fost dat afară. Din ultimul an de școală profesională.
Poate că mă urmărește de multă vreme prin vederea unei puști de lunetist, dar, sincer să fiu, nu-mi pasă.
Eh, geniu, ești fără inimă...

Epilog
Pentru mine personal, experiența de predare a fost una dintre cele mai iluminatoare. Acest lucru m-a ajutat să-mi consolidez cunoștințele fundamentale de programare după ce am studiat la institut. M-am simțit încrezător în specialitatea aleasă (gama de specialități disponibile). De o importanță deosebită este faptul că „cel mai obraznic grup” m-a impregnat cu respect și prietenie - asta valorează foarte mult. Am reușit să găsesc o cale către inovatorii lor interiori, am încercat să insuflez realitatea, și nu aceste priorități stereotipe. Este păcat că nu am ajuns la „puzzle” în codificare - când toată lumea ar trebui să facă o parte din cod și, conectând toate părțile într-una singură, am obține un program de lucru mare...
Sper că într-o zi fiecare dintre ei va simți asta... dar deocamdată, mai jos sunt capturi de ecran cu recenzii de la mai mulți studenți după 2 ani.

Baza oricărei programe pe... puzzle-uri

Este prea devreme pentru a trage concluzii despre succesul carierei unui programator pentru oricare dintre ei, deoarece acum majoritatea acestui grup studiază la o universitate. Timpul se va arăta.

Sper că articolul a fost util. Vă mulțumim pentru atenție!
Succes creativ și dispoziție pozitivă, colegi!

Sursa: www.habr.com

Adauga un comentariu