Grunnlaget for all programmering på... gåter

Hilsen, innbyggere i Khabrovsk!

I denne artikkelen vil jeg snakke om min erfaring som C++ programmeringslærer ved en høyskole ved et teknisk universitet. Det var en opplevelse en gang i livet som lærte meg mye. Når det kommer til interessante fakta fra din personlige fortid, er denne passasjen fra livet en av de første som dukker opp.
Gå.

Først litt om meg selv.
I 2016 ble jeg uteksaminert fra instituttet med utmerkelser med en grad i informasjonssikkerhet for automatiserte systemer. I løpet av studiene var jeg gjentatte ganger i stand til å realisere potensialet mitt i å skrive vitenskapelige artikler, delta i konkurranser og stipend. I 2015 hadde jeg muligheten til å bli vinneren av den all-russiske konkurransen for unge forskere "UMNIK". I 2016, før han fullførte studiene, var han allerede ansatt i en stor organisasjon i byen som "spesialist på informasjonssikkerhet, kryptografi og kryptering."
Kort sagt, noe sånt som dette. Du kan tenke deg at jeg fortsatt hadde en idé om programmering.

Og her er det 2017. Postgraduate studier. Jeg ble bedt om å undervise i C++ på en høyskole i et semester, som jeg ble lovet gode bonuser for for å lette byrden for en doktorgradsstudent og ingenting mer.

For å være ærlig var jeg oppriktig interessert i å prøve meg i denne credo.

Første par
September. Første skoleuke. Studenter kom til meg. "Den frekkeste gruppen" - det var det de ble kalt.
23 personer. "Programmører".

Som forventet presenterte jeg meg selv først. Jeg fortalte dem diskret innholdet i delen "Først, litt om meg selv"...
Så begynte det forferdelige. Til spørsmålet "Hva kan du gjøre?" studentene (vi kaller dem det fra nå av) svarte at de kunne gjøre litt mer enn ingenting i det hele tatt (vel, dette betydde at noen av dem visste hvordan MS VS så ut og kunne lage et «Hello world»-prosjekt). .. Programmerere. Siste kurs…

Videre forklarte de i detalj, "i farger", at de ikke hadde blitt lært noe, og at de generelt var skuffet over programmering...

Nesten alle dagene til neste leksjon gikk slik:
Grunnlaget for all programmering på... gåter

... men dagen før oppsto ideen om å satse på å rette opp den nåværende situasjonen i hodet og bevisstheten til disse unge menneskene. Og så ble «Ostap revet med».

Introduksjon til programmering
Til neste leksjon tok jeg med... et puslespill.
Ja Ja. Puslespill. "Dragetreneren." Reglene var enkle. Gruppen ble delt inn i 3 lag. Hvert lag satte sammen sin del. Noen er skogen, andre er jorden, andre er dragen i midten av bildet. Mens hele paret satt sammen puslespillet, fortalte jeg dem det Å sette sammen et puslespill er også programmeringat programmerere ofte bruker andres kode, at hvert prosjekt har flere forskjellige team, funksjoner, moduler...
Etter hvert ble de mest sløve elevene med på prosessen.
Da jeg var ferdig med å gni ideen om programmering inn i forretningskonsepter, prosesser og... puslespill, var det på tide å etablere treningsreglene.
For hver leksjon måtte hver elev skrive ned 10 termer fra IT i en notatbok. Noen. Alle har sin egen. Poenget er at jeg tok en elevs notatbok og fant blant alle begrepene maksimalt brukt og spurte en annen student om dem. Når en annen student sier: "Jeg skrev ikke det begrepet," var det ingen straff (på grunn av sunn fornuft), men den studenten måtte skrive ned de "manglende" begrepene (som alle andre som ikke hadde dem) og finne deres betydninger ved neste yrke.

Det var det vi gjorde. Hver leksjon begynte med en munter tilfeldighet i forhold til to eller tre elever. Gutta hadde entusiasme for denne prosessen.

Leksjonsemner
Ved oppstart av opplæring er det svært viktig å gi studentene god litteratur. Etter min mening var den ideelle boken:
Grunnlaget for all programmering på... gåter

En gang måtte jeg lese den snikende mens jeg klemte Microsoft Visual Studio. Da klarte jeg å forstå programmering nesten fra bunnen av. Perfekt alternativ.

Du går beskjedent til studentene og sier: "For å bli programmerere trenger du bare å lese og prøve alt i denne boken," og kaste boken på bordet. Det viktigste er å ikke forvirre bøkene i ryggsekken...

Før hvert emne måtte jeg absolutt forberede meg grundig. Jeg leste den samme Laforet og flere andre interessante kilder fra Internett.
Forklaringen gikk nesten fra bunnen av. Dessuten var det nødvendig å forstå hvor studentenes grunnleggende kunnskap ble avskåret deduktivt.
Arrays -> Arbeide med minne (konstruktører) -> Lenker -> Hvordan minne fungerer -> Stasjoner -> Hva er en fysisk stasjon -> Binær representasjon av data...
Grunnlaget for all programmering på... gåter

En veldig sterk krasjtest av kunnskap om grunnleggende fakta om programmering. Jeg er ikke lenger en programmerer, jeg er en historiker!

Og så betyr det at historiske kamper finner sted for flere par på rad. En dag ser en sekretær fra avdelingen inn på kontoret vårt og ser gruppen, åpner øynene opp, kikker og lukker døren. Som jeg ble fortalt senere, ble hun sjokkert over at DENNE gruppen satt så stille og lyttet så oppmerksomt til meg... Eh, lett.

Laboratoriearbeid
Den første brukte informasjonen er de første "laboratoriene". Totalt har gruppen bestått 10 laboratoriearbeider i løpet av semesteret. Først laget de den enkleste konsollen a + b, og i sistnevnte skrev de, om enn konsollbaserte, men ganske interessante applikasjoner, som å beregne verdien av integralet til en eller annen vilkårlig gitt funksjon ved å bruke en av tre metoder - omtrent de samme oppgavene var på den endelige sertifiseringen - kursarbeid.

Det er bare akseptmetoden no var kjent. Gjennom hele studietiden på instituttet ble jeg møtt med at det å være smart og kunne bestå rapporter ikke er det samme. Dette passet ikke meg i det hele tatt.

- Gutter, tenkte jeg. La oss bygge et "konseptuellt" forhold. Hvis noen av dere tror at dere ikke trenger programmering, er døren der borte. Jeg lærer deg gratis. Jeg ønsker å se her bare nysgjerrige, omsorgsfulle og omsorgsfulle entusiaster. "Jeg ber alle andre om ikke å kaste bort alles tid," sa jeg på den første dagen med laboratoriearbeid. Etter dette sluttet 5 personer umiddelbart å delta på undervisningen. Dette var logisk og forventet. Det var mulig å prøve å gjøre noe forståelig med resten.

- ... Jeg er ikke interessert i å se noen gjøre arbeidet ditt bare for å bestå det. Dere er kanskje ikke programmerere, men dere vil være mennesker i klassene mine .

Det så slik ut:

case отличник

En student setter seg ned sammen med meg for å levere inn arbeidet sitt.
– Gjorde du det selv?
- Ja.
- Hva er dette?
- *svarer riktig*.
*Jeg spør om et par punkter til. Svarer riktig*
- akseptert. Flott.

case болтун

– Gjorde du det selv?
- Ja.
- Hva er dette?
- *svarer feil / svarer ikke*.
*Jeg spør om et par punkter til. Samme resultat*
- Ikke akseptert. MISLYKKES Jeg venter på omtaket.

case хорошист

– Gjorde du det selv?
- Ja.
- Hva er dette?
- *svarer riktig, men ikke selvsikkert, svømmer*.
*Jeg spør om et par punkter til. Samme resultat*
- akseptert. Fint.

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

– Gjorde du det selv?
- Nei.
- Hvorfor?
- Vanskelig. Han hjalp meg ... *nevner ærlig talt en utmerket student fra gruppen*
– Forsto du?
– Ja, jeg skjønte nesten alt.

- Hva er dette?
- *svarer riktig*.
*Jeg spør om et par punkter til. Svarer mer eller mindre riktig, noen ganger helt feil, selv om det er 50/50 riktig og feil*
- akseptert. Fint.

Det gir ingen mening å beskrive alle andre tilfeller. Ja, en "flink student" kan være misfornøyd med at en "C"-student får samme karakter, basert på ærlighet. Da kommer alt an på humøret. Eller jeg ber den "flinke studenten" se på gulvet, for "nå skal jeg slippe en klype visdom," og så skal jeg fortelle deg essensen av tilnærmingen, beskrive hva i livet som er av større verdi og forklare at det var mye vanskeligere for "C"-eleven å bestå enn for ham, den "flinke studenten." ", osv...
... eller, som læreren min en gang gjorde, jeg vil tegne en liten tann i journalboksen overfor denne misfornøyde personen, og neste gang vil jeg personlig fullføre laboratoriearbeidet for ham. Bare. For ikke å "slukke" kameratene dine.

Grunnlaget for all programmering på... gåter

Оценки
Utdanningsprosessen, som hele verden, drukner bokstavelig talt i prislapper og karakterer.
Studenter er også mennesker, men etter min mening burde «rammen» vært «ristet» også her.
I løpet av semesteret fikk alle en bonusoppgave. Registrer for github.com, last opp et tomt C++-prosjekt dit, gjør 2 oppdateringer, forplikt dem og push dem. For disse handlingene ble det tildelt 15. Ja, ja, ikke 4, ikke 5, men 15. Tre skjønte det. Dette var på en eller annen måte forståelig for studentens psykotype, men så var det en annen sak.
En gang ble paret vårt flyttet slik at hun var den siste, og også gjennom et par vinduer. Imidlertid kom det fortsatt 15 personer til det. Jeg ønsket ikke å forklare et nytt emne til ære for slik heltemot, siden vi allerede hadde kommet ganske bra rent emner + det neste emnet var ikke veldig enkelt for slitne hjerner (mine og elevenes). Da bestemte jeg meg for å snakke om filosofi.

— Jeg kunngjør en attraksjon av enestående generøsitet. Alle forteller meg hvilken karakter jeg skal gi ham for dagens par.
Alle ville ha en "A".
"Vurder det allerede der," sa jeg. Alle var glade.
Silence.
– hvorfor ville ingen det? 7-ku eller 10-ku?
Alles øyne ble store og de begynte å smile dumt.
– Vil du satse? Til bladet?! - kom det en stemme fra skrivebordet bak.
- Ja enkelt! - Jeg sa, - Jeg kunngjør en blitz på vilkår, den som svarer på 10 av spørsmålene mine - jeg vedder den 20 til magasinet, uten fangst, den som ikke svarer er den ene -10 (minus ti).

"Teamet ble frisket opp, en debatt begynte," alle hadde ærlig tjent karakterer. To meldte seg frivillig. Med mindre unøyaktigheter byttet de på med 10 spørsmål om stabelen, køen, konstruktøren, destruktoren, søppeloppsamleren, innkapsling, polymorfisme, hashfunksjoner...
Hver av dem ble tegnet i et magasin 20... men viktigheten av bladet og karakterene falt i alles øyne. Nå angrer jeg på at jeg ikke spurte om de vil "dele" vurderingen sin med noen. Det ser ut til at de ville dele... Fra nå av overlot alle «laben» med kunnskap og ærlighet.

Fra dette øyeblikket dukket det opp en annen type laboratorielevering:


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

– Gjorde du det selv?
- Nei.
- Hvorfor?
- Vanskelig. Han hjalp meg ... *nevner ærlig talt en utmerket student fra gruppen*
– Forsto du?
- Sergey Nikolaevich, ærlig talt, jeg forstår ingenting, så jeg skrev kommentarer ved siden av hver linje - vel, det er ikke min greie, jeg skal bli traktorfører
- Hva er dette?
— *leser kommentaren på motsatt side av linjen*.
- ...
- ...
— Hva er forskjellen mellom Belarus MTZ og Don 500 og K700?
- ??!.. Den første er en hjultraktor laget i Minsk, ofte brukt i lette og mellomstore typer landbruksproduksjon. Den har også små hjul foran og store hjul bak. Don 500 er i bunn og grunn en hogstmaskin, og K-700 Kirovets er en sovjetisk generell off-road-hjultraktor, trekkraftklasse 5.
- akseptert. Fint (!!!).
- Takk, Sergey Nikolaevich!!!

I mitt hjemland er det å snakke om TractorA nesten som å snakke om SOLID her.

geni
Det var et geni i gruppen min. Eleven var veldig sent ute fra første klasse og fullførte ikke puslespillet sammen med alle andre. Så ba jeg ham gjøre det jeg planla for alle til neste leksjon - skrive på et papir til seg selv hva han er interessert i, hva som interesserer ham. I følge resultatene hadde "Genius" 2-3 linjer: noe sånt som "Jeg innser nytteløsheten av å være" ...

...Å, gud, i min gruppe har jeg den andre Lao Tzu og Kojima i én person...
Grunnlaget for all programmering på... gåter

Til min overraskelse svarte han virkelig glimrende på spørsmål om begreper i de to første timene, men effekten varte ikke lenge. "Geniet" sluttet å gå på kurs, og neste gang kom han bare for å bestå det første laboratoriearbeidet, som han fullførte. passerte ikke av objektive grunner. Så, på grunn av fravær, akkumulerte han naturligvis gjeld, som, som han trodde, Jeg var rett og slett forpliktet til å regne ham, så å si, "på en broderlig måte".
Unnlatelse av å delta på par + økt hjertefrekvens var i strid med de etablerte prinsippene for å delta på timene mine. "Genius" hadde bare 2 veier ut av situasjonen - å rehabilitere seg selv (den forventede veien) eller gi opp klasser og håpe på en "C" gitt av dekankontoret for å bli kvitt slackeren.
Vel, dette er "Genius"... du må opptre "briljant" med en gang. Denne unge mannen kunne ikke finne noe bedre enn å skrive i den generelle dialogen på VK (der jeg og alle elevene i denne gruppen var) en sint tirade med forbannelser og fornærmelser rettet mot meg.

Hmm... Skuffelse.
Det som var mest påfallende var at før fullføringen av straffeoperasjonen fra høyskoleledelsens side, bestemte han seg for å be meg om unnskyldning. For hva? – Jeg forstår oppriktig ikke. På den tiden hadde jeg lenge vært uavhengig av kritikk, spesielt slik ærlig talt dum kritikk. Personligheten min ble ikke påvirket, men prosessene er prosesser, og som lærer kunne jeg ikke la være å melde fra om dette. Som det viste seg, hadde det allerede samlet seg så mange klager mot ham under studiene at denne saken viste seg å være den siste. Han ble utvist. Fra siste året på fagskolen.
Kanskje han har sett meg lenge gjennom synet av en snikskytterrifle, men for å være ærlig bryr jeg meg ikke.
Eh, geni, du er hjerteløs...

Epilog
For meg personlig var undervisningsopplevelsen en av de mest opplysende. Dette hjalp meg å konsolidere min grunnleggende kunnskap om programmering etter å ha studert ved instituttet. Jeg følte meg trygg på min valgte spesialitet (utvalget av tilgjengelige spesialiteter). Spesielt viktig er det faktum at den "slemmeste gruppen" gjennomsyret meg med respekt og vennlighet - dette er verdt mye. Jeg klarte å finne en vei til deres indre innovatører, prøvde å innpode virkeligheten, og ikke disse stereotype prioriteringene. Det er synd at vi ikke kom til "puslespillet" i koding - når alle måtte gjøre en del av koden, og ved å koble alle delene til en, ville vi få et stort fungerende program ...
Jeg håper at hver av dem en dag vil føle dette... men foreløpig, nedenfor er skjermbilder med anmeldelser fra flere studenter etter 2 år.

Grunnlaget for all programmering på... gåter

Det er for tidlig å trekke konklusjoner om suksessen til en programmerers karriere for noen av dem, for nå studerer de fleste av denne gruppen ved et universitet. Tiden vil vise.

Jeg håper artikkelen var nyttig. Takk for din oppmerksomhet!
Kreativ suksess og positivt humør, kollegaer!

Kilde: www.habr.com

Legg til en kommentar