Grundlaget for enhver programmering på... gåder

Hilsen Khabrovsk beboere!

I denne artikel vil jeg fortælle om min erfaring som C++ programmeringslærer på et college på et teknisk universitet. Det var en én gang i livet oplevelse, der lærte mig meget. Når det kommer til interessante fakta fra din personlige fortid, er denne passage fra livet en af ​​de første, der kommer til at tænke på.
Gå.

Først lidt om mig selv.
I 2016 dimitterede jeg fra instituttet med udmærkelse med en grad i Information Security of Automated Systems. I løbet af mit studie har jeg gentagne gange været i stand til at realisere mit potentiale i at skrive videnskabelige artikler, deltage i konkurrencer og legater. I 2015 havde jeg muligheden for at blive vinderen af ​​den all-russiske konkurrence for unge forskere "UMNIK". I 2016, før han afsluttede sine studier, var han allerede ansat i en stor organisation i byen som "specialist i informationssikkerhed, kryptografi og kryptering."
Kort sagt, sådan noget. Du kan forestille dig, at jeg stadig havde en idé om programmering.

Og her er det 2017. Videregående studier. Jeg blev bedt om at undervise i C++ på et kollegium i et semester, for hvilket jeg blev lovet gode bonusser for at lette byrden for en kandidatstuderende og intet mere.

For at være ærlig var jeg oprigtigt interesseret i at prøve mig selv i denne credo.

Første par
September. Første uge i skolen. Studerende kom til mig. "Den frækkeste gruppe" - det blev de kaldt.
23 personer. "Programmører".

Som forventet præsenterede jeg mig først. Jeg fortalte dem diskret indholdet af delen "Først lidt om mig selv"...
Så begyndte det forfærdelige. Til spørgsmålet "Hvad kan du gøre?" eleverne (det vil vi kalde dem fra nu af) svarede, at de kunne lidt mere end ingenting overhovedet (nå, det betød, at nogle af dem vidste, hvordan MS VS så ud og kunne lave et "Hello world"-projekt). .. Programmører. Sidste kursus…

Yderligere forklarede de detaljeret, "i farver", at de ikke var blevet undervist i noget, og at de generelt var skuffede over programmering...

Næsten alle dagene indtil min næste lektion forløb sådan her:
Grundlaget for enhver programmering på... gåder

... men dagen før opstod ideen om at sætte kræfter i at rette op på den nuværende situation i disse unges sind og bevidsthed. Og så "blev Ostap revet med."

Introduktion til programmering
Til næste lektion bragte jeg... et puslespil.
Ja Ja. Gåde. "Sådan træner du din drage." Reglerne var enkle. Gruppen var opdelt i 3 hold. Hvert hold samlede sin del. Nogle er skoven, andre er jorden, andre er dragen i midten af ​​billedet. Mens hele parret lagde puslespillet, fortalte jeg dem det At lægge et puslespil er også programmeringat programmører ofte bruger en andens kode, at hvert projekt har flere forskellige teams, funktioner, moduler...
Efterhånden kom de mest sløve elever med i processen.
Da jeg var færdig med at gnide ideen om programmering ind i forretningskoncepter, processer og... gåder, var det tid til at etablere reglerne for træning.
Til hver lektion skulle hver elev skrive 10 termer fra IT ned i en notesbog. Nogen. Alle har deres egne. Pointen er, at jeg tog en elevs notesbog og fandt blandt alle termerne maksimalt anvendt og spurgte en anden elev om dem. Når en anden elev siger: "Jeg skrev ikke det udtryk ned", var der ingen straf (på grund af sund fornuft), men den studerende skulle skrive de "manglende" udtryk ned (som alle andre, der ikke havde dem) og find deres betydning ved den næste beskæftigelse.

Det var, hvad vi gjorde. Hver lektion begyndte med en munter tilfældighed i forhold til to eller tre elever. Fyrene havde entusiasme for denne proces.

Lektionens emner
Når man starter uddannelsen, er det meget vigtigt at give eleverne god litteratur. Efter min mening var den ideelle bog:
Grundlaget for enhver programmering på... gåder

På et tidspunkt måtte jeg snigende læse den, mens jeg krammede Microsoft Visual Studio. Så var jeg i stand til at forstå programmering næsten fra bunden. Perfekt mulighed.

Du går beskedent hen til eleverne og siger: "For at blive programmører skal du bare læse og prøve alt i denne bog," og smide bogen på bordet. Det vigtigste er ikke at forvirre bøgerne i din rygsæk...

Inden hvert emne skulle jeg helt sikkert forberede mig grundigt. Jeg læste den samme Laforet og flere andre interessante kilder fra internettet.
Forklaringen gik næsten fra bunden. Desuden var det nødvendigt at forstå, hvor elevernes grundlæggende viden var afskåret deduktivt.
Arrays -> Arbejde med hukommelse (konstruktører) -> Links -> Sådan fungerer hukommelsen -> Drev -> Hvad er et fysisk drev -> Binær repræsentation af data...
Grundlaget for enhver programmering på... gåder

En meget stærk crashtest af viden om grundlæggende fakta om programmering. Jeg er ikke længere programmør, jeg er historiker!

Og så betyder det, at historiske kampe finder sted for flere par i træk. En dag kigger en sekretær fra afdelingen ind på vores kontor og ser gruppen, åbner øjnene op, kigger og lukker døren. Som jeg fik at vide senere, var hun chokeret over, at DENNE gruppe sad så stille og lyttede så opmærksomt til mig... Øh, nemt.

Laboratoriearbejder
Den første anvendte information er de første "laboratorier". I alt bestod gruppen 10 laboratoriearbejder i løbet af semestret. Først lavede de den enkleste konsol a + b, og i sidstnævnte skrev de, omend konsolbaserede, men ret interessante applikationer, såsom at beregne værdien af ​​integralet af en eller anden vilkårligt givet funktion ved hjælp af en af ​​tre metoder - omtrent de samme opgaver var på den endelige certificering - kursusarbejde.

Det er bare accepttilgangen nej var bekendt. Under hele mit studie på instituttet blev jeg konfronteret med, at det ikke er det samme at være klog og at kunne bestå rapporter. Det her passede slet ikke til mig.

- Gutter, tænkte jeg. Lad os bygge et "konceptuelt" forhold. Hvis nogen af ​​jer mener, at I ikke har brug for programmering, er døren derovre. Jeg lærer dig gratis. Jeg vil her kun se nysgerrige, omsorgsfulde og omsorgsfulde entusiaster. "Jeg beder alle andre om ikke at spilde alles tid," sagde jeg på den første dag med laboratoriearbejde. Herefter stoppede 5 personer straks med at deltage i undervisningen. Dette var logisk og forventet. Det var muligt at prøve at gøre noget forståeligt med resten.

- ... Jeg er ikke interesseret i at se nogen gøre dit arbejde bare for at bestå det. I er måske ikke programmører, men I vil være mennesker i mine klasser skal.

Det så sådan her ud:

case отличник

En elev sætter sig sammen med mig for at aflevere sit arbejde.
– Gjorde du det selv?
- Ja.
- Hvad er dette?
- *svarer rigtigt*.
*Jeg spørger om et par punkter mere. Svar korrekt*
- accepteret. Store.

case болтун

– Gjorde du det selv?
- Ja.
- Hvad er dette?
- *svarer forkert / svarer ikke*.
*Jeg spørger om et par punkter mere. Samme resultat*
- Ikke accepteret. MISLYKKEDES Jeg venter på gentagelsen.

case хорошист

– Gjorde du det selv?
- Ja.
- Hvad er dette?
- *svarer rigtigt, men ikke selvsikkert, svømmer*.
*Jeg spørger om et par punkter mere. Samme resultat*
- accepteret. Bøde.

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

– Gjorde du det selv?
- nej.
- Hvorfor?
- Svært. Han hjalp mig... *nevner ærligt en fremragende elev fra gruppen*
- Forstod du?
- Ja, jeg forstod næsten alt.

- Hvad er dette?
- *svarer rigtigt*.
*Jeg spørger om et par punkter mere. Svar mere eller mindre korrekt, nogle gange helt forkert, selvom det er 50/50 korrekt og forkert*
- accepteret. Bøde.

Det giver ingen mening at beskrive alle andre tilfælde. Ja, en "god elev" kan være utilfreds med, at en "C"-elev får samme karakter, baseret på ærlighed. Så kommer det helt an på humøret. Eller jeg beder den "gode studerende" om at kigge i gulvet, for "nu vil jeg slippe en knivspids visdom," og så vil jeg fortælle dig essensen af ​​tilgangen, beskrive, hvad i livet er af større værdi og forklare at det var meget sværere for "C"-eleven at bestå end for ham, den "gode elev." ", osv...
... eller, som min lærer engang gjorde, vil jeg trække en lille tand i journalboksen overfor denne utilfredse person, og næste gang vil jeg personligt færdiggøre laboratoriearbejdet for ham. Lige. For ikke at "slukke" dine kammerater.

Grundlaget for enhver programmering på... gåder

Оценки
Uddannelsesprocessen, ligesom hele verden, drukner bogstaveligt talt i prisskilte og karakterer.
Studerende er også mennesker, dog burde "rammerne" efter min mening også have været "rystet" her.
I løbet af semesteret fik alle en bonusopgave. Tilmeld dig github.com, upload et tomt C++-projekt der, lav 2 opdateringer, commit dem og push dem. Til disse handlinger blev der tildelt 15. Ja, ja, ikke 4, ikke 5, men 15. Tre fandt ud af det. Dette var på en eller anden måde forståeligt for den studerendes psykotype, men så var der en anden sag.
Engang blev vores par flyttet, så hun var den sidste, og også gennem et par vinduer. Der kom dog stadig 15 personer til det. Jeg ville ikke forklare et nyt emne til ære for sådan heltemod, da vi allerede var kommet ret godt frem rent emner + det næste emne var ikke særlig simpelt for trætte hjerner (min og elevernes). Så besluttede jeg at tale om filosofi.

— Jeg annoncerer en tiltrækning af hidtil uset generøsitet. Alle fortæller mig, hvilken karakter jeg skal give ham til dagens par.
Alle ville have et "A".
"Overvej det allerede der," sagde jeg. Alle var glade.
Stilhed.
- hvorfor ville ingen det? 7-ku eller 10-ku?
Alles øjne blev store og de begyndte at smile dumt.
- Vil du vædde? Til bladet?! - kom der en stemme fra det bagerste skrivebord.
- Ja nemt! - Jeg sagde, - jeg annoncerer en blitz på vilkår, hvem der svarer på 10 af mine spørgsmål - jeg vil vædde den 20 til bladet, uden fangst, den der ikke svarer er den ene -10 (minus ti).

"Holdet blev frisket op, en debat begyndte," alle havde ærligt tjent karakterer. To meldte sig frivilligt. Med mindre unøjagtigheder skiftedes de med 10 spørgsmål om stakken, køen, konstruktøren, destruktoren, skraldeopsamleren, indkapsling, polymorfi, hash-funktioner...
Hver enkelt blev tegnet i et magasin 20... men bladets og karakterernes betydning faldt i alles øjne. Nu fortryder jeg, at jeg ikke spurgte, om de ville "dele" deres vurdering med nogen. Det ser ud til, at de ville dele... Fra nu af afleverede alle "laben" med viden og ærlighed.

Fra dette øjeblik dukkede en anden type laboratorielevering op:


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

– Gjorde du det selv?
- nej.
- Hvorfor?
- Svært. Han hjalp mig... *nevner ærligt en fremragende elev fra gruppen*
- Forstod du?
- Sergey Nikolaevich, ærlig talt, jeg forstår ikke noget, så jeg skrev kommentarer ud for hver linje - ja, det er ikke min ting, jeg vil være traktorfører
- Hvad er dette?
— *læser kommentaren over for linjen*.
-…
-…
— Hvad er forskellen mellem Belarus MTZ og Don 500 og K700?
- ??!.. Den første er en traktor på hjul fremstillet i Minsk, der ofte bruges i lette og mellemstore typer landbrugsproduktion. Den har også små hjul foran og store hjul bagpå. Don 500 er dybest set en mejetærsker, og K-700 Kirovets er en sovjetisk almindelig off-road hjultraktor, trækklasse 5.
- accepteret. Bøde (!!!).
- Tak, Sergey Nikolaevich!!!

I mit hjemland er det at tale om TractorA næsten som at tale om SOLID her.

geni
Der var et geni i min gruppe. Eleven var meget forsinket fra første klasse og gennemførte ikke puslespillet sammen med alle andre. Så bad jeg ham om at gøre, hvad jeg planlagde for alle til næste lektion - skrive på et stykke papir til sig selv, hvad han er interesseret i, hvad der interesserer ham. Ifølge resultaterne havde "Genius" 2-3 linjer: noget i retning af "Jeg indser det formålsløse ved at være"...

...Åh, Gud, i min gruppe har jeg den anden Lao Tzu og Kojima i én person...
Grundlaget for enhver programmering på... gåder

Til min overraskelse svarede han i de første to klasser virkelig glimrende på spørgsmål om termer, men effekten varede ikke længe. "Geniet" holdt op med at deltage i undervisningen, og næste gang kom han kun for at bestå det første laboratoriearbejde, som han gennemførte med succes. bestod ikke af objektive grunde. Så på grund af fravær oparbejdede han naturligvis gæld, som, som han troede, Jeg var simpelthen nødt til at regne ham så at sige "på en broderlig måde".
Manglende deltagelse i par + øget puls var i strid med de etablerede principper for at deltage i mine timer. "Genius" havde kun 2 veje ud af situationen - at rehabilitere sig selv (den forventede vej) eller give op på klasser og håbe på et "C" givet af dekanatet for at slippe af med slackeren.
Nå, det her er "Genius"... du skal handle "genialt" med det samme. Denne unge mand kunne ikke finde noget bedre end at skrive i den generelle dialog på VK (hvor jeg og alle eleverne i denne gruppe var) en vred tirade med forbandelser og fornærmelser henvendt til mig.

Hmm... Skuffelse.
Det mest slående var, at han inden afslutningen af ​​straffeoperationen fra kollegiets ledelse besluttede at undskylde over for mig. For hvad? - Jeg forstår oprigtigt ikke. På det tidspunkt havde jeg længe været uafhængig af kritik, især sådan helt ærligt dum kritik. Min personlighed blev ikke påvirket, men processerne er processer, og som lærer kunne jeg ikke lade være med at rapportere dette. Som det viste sig, var der allerede ophobet så mange klager mod ham under hans studier, at denne sag viste sig at være den sidste. Han blev bortvist. Fra sidste år på erhvervsskolen.
Måske har han holdt øje med mig i lang tid gennem synet af en snigskytteriffel, men for at være ærlig er jeg ligeglad.
Øh, geni, du er hjerteløs...

Epilog
For mig personligt var undervisningsoplevelsen en af ​​de mest oplysende. Dette hjalp mig med at konsolidere min grundlæggende viden om programmering efter at have studeret på instituttet. Jeg følte mig sikker på mit valgte speciale (rækken af ​​tilgængelige specialer). Af særlig betydning er det faktum, at den "frækkeste gruppe" gennemsyrede mig med respekt og venlighed - det er meget værd. Jeg formåede at finde en vej til deres indre innovatører, forsøgte at indgyde virkeligheden og ikke disse stereotype prioriteter. Det er ærgerligt, at vi ikke kom til "puslespillet" i kodning - når alle skulle lave en del af koden, og ved at forbinde alle delene til én, ville vi få et stort arbejdsprogram...
Jeg håber, at hver af dem en dag vil føle dette... men indtil videre er der skærmbilleder med anmeldelser fra flere studerende efter 2 år.

Grundlaget for enhver programmering på... gåder

Det er for tidligt at drage konklusioner om succesen med en programmørs karriere for nogen af ​​dem, for nu studerer de fleste af denne gruppe på et universitet. Tiden vil vise.

Jeg håber, at artiklen var nyttig. Tak for din opmærksomhed!
Kreativ succes og positivt humør, kolleger!

Kilde: www.habr.com

Tilføj en kommentar