Hvordan jeg underviste, og deretter skrev en veiledning om Python

Hvordan jeg underviste, og deretter skrev en veiledning om Python
Hele fjoråret jobbet jeg som lærer ved et av de provinsielle utdanningssentre (heretter kalt UC), som spesialiserer seg på programmeringsopplæring. Jeg vil ikke navngi dette utdanningssenteret, og jeg vil så langt som mulig unngå å nevne firmanavn, navn på forfattere osv.

Så jeg jobbet som lærer i Python og Java. Dette UC kjøpte inn undervisningsmateriell for Java, og Python-programmet startet opp da jeg kom og tilbød dem det.

Læreboken for elevene (i realiteten en lærebok eller selvstudium) skrev jeg om Python, men også undervisningen i Java og læremateriellet som ble brukt der, hadde stor innflytelse.

Å si at de var forferdelige, ville være en underdrivelse. Mønsteret til Java-læreboken som leveres av et veldig kjent selskap i Russland, var ikke å lære en person grunnleggende om dette språket generelt og OOP-paradigmet spesielt, men bare at foreldrene som kom på åpne timer, så hvordan sønnen eller datteren deres kopierte slanger eller sjakk fra boken. Hvorfor sier jeg kopierte? Veldig enkelt, fordi boken inneholdt hele ark (A4) med kode, hvor noen aspekter ikke ble forklart. Til slutt må læreren enten kontrollere på hvilket punkt i koden hver elev befinner seg, ved å forklare hver linje, eller alt skrenser mot kopiering.

Du vil si: «Hva så, la læreren gjøre jobben sin, og slanger og sjakk er jo kult!»

Vel, alt ville vært flott hvis antallet elever i gruppen ikke var nærmere 15, og det er betydelig, når du skal følge med på alle, og forklare: «Og egentlig, hva skriver vi nå?»

I tillegg til antallet personer i gruppen, er det et annet problem knyttet til dette læremateriellet. Koden er skrevet… hvordan skal jeg si det, bare forferdelig. En samling av antipatterns, arkaiske elementer, siden læreboken ikke har blitt oppdatert på lenge, og selvfølgelig vårt kjære stilmønster. Så selv om du kan kontrollere alle dine protegéer og raskt og forståelig forklare hva den kopierte koden betyr, er selve koden så forferdelig at den mildt sagt ikke lærer det den burde.

Og så kom finalen, som bokstavelig talt ødela denne læreboken – fra starten av manglet det en eller annen rimelig introduksjon som forklarer hva datatyper er, at de kan være både objektlige og primitive, hvilket kriterium som sjekker egenskapene som skaper denne dikotomien osv. I det første kapittelet blir du og elevene dine bedt om å lage (skrive) et program som lager et vindu og skriver "Hei!", men det forklares ikke hva denne koden egentlig betyr, det henvises bare til videre oppgaver, for eksempel nevnes "main" – inngangspunktet, men selv begrepet "inngangspunkt" blir ikke forklart.

For å oppsummere, var dette papiret en meme selv blant lærere og ledelse. Den lærte barna absolutt ingenting, en gang kom jeg over en gruppe som hadde lært i ett år med disse materialene, og de klarte til slutt ikke å skrive en løkke. Jeg vil nevne at alle var veldig intelligente, og snart var ikke situasjonen så ille. De fleste kolleger forsøkte å unngå metodiske materialer, slik at stoffet ble forstått, og ikke bare forsvant i luften, selv om det også var mindre samvittighetsfulle personer som syntes det var greit at eleven deres skrev av uten noen forklaringer.

Da det ble klart at jeg skulle forlate UЦ, men programmet om Python måtte på en eller annen måte fortsette neste år, begynte jeg å skrive min egen lærebok. Kort sagt delte jeg den opp i to deler; i den første forklarte jeg alt om datatyper, deres essens, operasjoner med dem og språkets instruksjoner. Mellom temaene laget jeg QnA, slik at den fremtidige læreren kunne forstå hvordan eleven hadde mestret emnet. Og på slutten laget jeg en liten oppgave-prosjekt. Den første delen forklarer dermed grunnleggende på språket og tygger dem grundig, noe som utgjør omtrent 12-13 timer à 30-40 minutter. I den andre delen skrev jeg om OOP, beskrev hvordan implementeringen av denne paradigmen i Python skiller seg fra de fleste andre, og gjorde mange henvisninger til style guide osv. For å oppsummere – jeg prøvde å være så lite lik det som var i Java-læreboken som mulig. Nylig skrev jeg til nåværende Python-lærer og spurte om tilbakemelding på materialene, og jeg er nå glad for at alt gikk bra, og at barna virkelig forstår programmering i Python.

Hvilken konklusjon jeg ønsker å trekke fra denne historien: kjære foreldre, hvis dere vurderer å sende barnet deres til et utdanningssenter, så følg nøye med på hva de gjør. Sørg for at barnet ikke kaster bort tiden sin, slik at det i fremtiden ikke mister lysten til å programmere.

UPD: Som det ble påpekt i kommentaren, sa jeg nesten ingenting om materialets presentasjon. La meg være klar: jeg mener at det bør være mer praktisk arbeid, så mye som mulig. På slutten av hver leksjon i første del gjorde jeg 4-5 små praktiske oppgaver relatert til kapittelet. Mellom kapitlene var det QnA (kontrolltimer), hvor det også var praktiske oppgaver, men som ble vurdert. I tillegg var det et prosjekt på slutten av første del med et emne å velge fra de som ble foreslått. I den andre delen gjorde jeg en introduksjon til OOP gjennom å lage et konsoll-basert minispill, utviklingen av dette var hele den andre delen og innføringen til paradigmet.

Kun registrerte brukere kan delta i undersøkelsen. Logg inn, vær så snill.

Lærer barnet ditt programmering på et utdanningssenter?

  • 4,6%Ja3

  • 95,4%Nei62

65 brukere har stemt. 27 brukere har avholdt seg.

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster