Kako sem poučeval, nato pa pisal gradivo o Pythonu

Kako sem poučeval, nato pa pisal gradivo o Pythonu
Prejšnje leto sem delal kot učitelj v enem izmed provincialnih učnih centrov (v nadaljevanju — UC), ki se specializirajo za učenje programiranja. Ne bom poimenoval tega učnega centra ter se bom izognil omembi podjetij, imen avtorjev itd.

Torej, delal sem kot učitelj Python in Java. Ta UC je nabavljal učne materiale za Javo, Python pa so zagnali, ko sem prišel jaz in jim to predlagal.

Gradivo za učence (v bistvu učbenik ali samoučitelj) sem pisal za Python, vendar je imelo učenje Jave in učni materiali, ki so se tam uporabljali, določen vpliv.

Reči, da so bili grozni — ne pomeni nič. Učbenik za Javo, ki ga dobavlja ena zelo znana firma v Rusiji, ni bil zasnovan tako, da bi učil človeka osnovam jezika na splošno in OOP paradigmi posebej, temveč, da bi starši, ki so prišli na odprte učne ure, videli, kako njihov sin ali hči kopirata iz učbenika kačo ali šahovnico. Zakaj pravim kopirali? Zelo preprosto, težava je v tem, da so v učbeniku navedeni cela lista (A4) kode, nekateri deli kode pa niso bili pojasnjeni. Na koncu mora učitelj ali nadzorovati, na kateri točki kode se trenutno nahaja vsak učenec, razlaga vsak stavek, ali pa vse zasuka v kopiranje.

Rečete: „No in kaj takega, naj učitelj raje dela, kača in šahovnica sta res super!“

No, vse bi bilo super, če število ljudi v skupini ne bi bilo okoli 15, kar je že precej, če nameravate spremljati vse in razlagati: „In torej, kaj pišemo?“

Poleg števila ljudi v skupini je še en problem, povezan s tem gradivom. Koda je napisana… kako bi vam to povedal, preprosto grozno. Nabor antipaternov, arhaičnih praks, saj učbenik že dolgo ni bil posodobljen, in naš najljubši, seveda — stilni vodič. Zato, celo če boste nadzorovali vse svoje varovance in jim uspešno in jasno razložili, kaj pomeni kopirana koda, je sama koda tako grozna, da jih ne bo naučila benigno rečeno ne tega.

In short, the conclusion that devastates this textbook is that from the very beginning there is a lack of any reasonable introduction explaining what data types are, that they can be object or primitive, what criterion checks the property that generates this dichotomy, etc. In the first chapter, you and your students are asked to create (write) a program that opens a window and displays "Hello!", but it does not explain what this line of code actually means, only references to further lessons are provided; for example, it mentions "main" — the entry point, but does not elaborate on the concept of an "entry point" itself.

To summarize, this paper was a meme even among educators and administrators. It taught children absolutely nothing; once I encountered a group that had been studying these materials for a year, and in the end, they couldn't even write a loop. I should note that they were all quite intelligent, and soon things were not as bad. Most colleagues tried to deviate from the methodical materials so that the content was absorbed rather than just disappearing into thin air, although there were less diligent individuals who thought it was normal for their students to copy without any explanations.

When it became clear that I would leave the training center, and the Python program had to be somehow continued next year, I set about writing my textbook. In short, I divided it into two parts: in the first, I explained everything about data types, their essence, operations on them, and language instructions. Between topics, I made Q&A sections so that future teachers could understand how well the students grasped the subject. At the end, I created a small project assignment. Thus, the first part explains the basics of the language and elaborates on them, consisting of about 12-13 lessons lasting 30-40 minutes each. In the second part, I wrote about OOP, detailing how its implementation in Python differs from most others, and made many references to the style guide, etc. To summarize — I tried to be as different as possible from what was in the Java textbook. Recently, I wrote to the current Python instructor asking for feedback on the materials, and now I’m glad that everything is going well, that the children really understand programming in Python.

Kakšen zaključek bi želel narediti iz te zgodbe: dragi starši, če se odločite, da otroka vpišete v izobraževalni center, skrbno spremljajte, kaj počnejo, da vaš otrok ne bo zaman izgubljal časa in ne izgubi želje po programiranju v prihodnosti.

UPD: Kot je pravilno opozoril komentator, skoraj ničesar nisem povedal o predstavitvi vsebine. Takoj bom rekel, da menim, da bi moralo biti več praktičnih vaj, čim več. Na koncu vsakega učnega sklopa v prvi del sem izvedel 4-5 manjših praktičnih nalog, povezanih s temo poglavja. Med poglavji so bili QnA (kontrolne ure), kjer so bile prav tako praktične naloge, vendar ocenjene; na koncu prvega dela pa je bil projekt z izbiro teme iz predlaganih. V drugem delu sem predstavil OOP skozi ustvarjanje konzolne mini igre, katere razvoj je bil celoten drugi del in celotno uvajanje v paradigmo.

Samo registrovani korisnici mogu učestvovati u anketi. Prijavite se, molim vas.

Ali se vaš otrok uči programiranja v izobraževalnem centru?

  • 4,6%Da3

  • 95,4%Ne62

65 uporabnikov je glasovalo. 27 uporabnikov se je vzdržalo.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster