Cum am predat și apoi am scris un manual pe Python

Cum am predat și apoi am scris un manual pe Python
În ultimul an, am lucrat ca profesor într-unul din centrele de formare provinciale (denumite în continuare TC), specializat în programarea didactică. Nu voi numi acest centru de formare; voi încerca, de asemenea, să mă descurc fără numele companiilor, numele autorilor etc.

Deci, am lucrat ca profesor în Python și Java. Acest CA a achiziționat materiale didactice pentru Java și au lansat Python când am venit și le-am sugerat.

Am scris un manual pentru studenți (în esență un manual sau un manual de auto-instruire) pe Python, dar predarea Java și materialele didactice care au fost folosite acolo au avut o influență semnificativă.

A spune că au fost groaznice este un eufemism. Modul manualului Java, care a fost furnizat de o companie foarte cunoscută din Rusia, nu a fost de a învăța o persoană elementele de bază ale acestui limbaj în general și paradigma OOP în special, ci de a se asigura că părinții care au venit să deschidă lecții a văzut cum au copiat fiul sau fiica dumneavoastră șarpe sau șah din manual. De ce spun anulat? Este foarte simplu, adevărul este că manualul a furnizat foi întregi (A4) de cod, dintre care unele aspecte nu au fost explicate. Drept urmare, profesorul fie trebuie să controleze în ce moment al codului se află acum fiecare elev, explicând fiecare linie, fie totul se transformă în înșelăciune.

Spuneți: „Ei bine, ce este în neregulă, lăsați profesorul să facă o treabă mai bună, iar șahul și un șarpe sunt cool!”

Ei bine, totul ar fi grozav dacă numărul de persoane din grup nu ar fi sub 15, iar acest lucru este deja semnificativ dacă urmează să-i urmărești pe toți, explicând: „Dar totuși, de ce scriem asta?”

Pe lângă numărul de persoane din grup, există o altă problemă asociată cu această metodă. Codul este scris... cum să-l pun, doar îngrozitor. Un set de antipatterns, arhaice, deoarece manualul nu a fost actualizat de mult, iar preferatul nostru, desigur, este stilul ghidului. Prin urmare, chiar dacă vă controlați toți studenții și le puteți explica rapid și clar ce înseamnă codul pe care îl scrieți, codul în sine este atât de teribil încât vă va învăța ceva greșit, ca să spunem ușor.

Ei bine, ultimul lucru care distruge literalmente acest manual este că de la bun început nu există măcar o introducere adecvată care să explice ce tipuri de date sunt, că sunt obiecte și primitive, ce criteriu verifică proprietatea care generează această dihotomie etc. În primul capitol, ție și studenții tăi sunteți rugați să faceți (copiați) un program care face o fereastră și scrie acolo „Bună ziua!”, dar nu explică ce înseamnă de fapt această foaie de cod, ci doar link-uri către lecții ulterioare, de exemplu , se menționează „principalul „este punctul de intrare, dar însuși conceptul de „punct de intrare” nu este nici măcar precizat.

Pentru a rezuma, acest deșeuri a fost un meme chiar și printre profesori și management. Ea nu i-a învățat absolut nimic pe copii, odată ce am dat peste un grup care studia aceste materiale deja de un an, până la urmă nu au putut să scrie nici măcar un ciclu, observ că toți erau foarte deștepți și în curând totul nu a fost atât de rău. Majoritatea colegilor au încercat să se abată de la materialele didactice pentru ca materialul să fie absorbit și nu doar să zboare în aer, deși erau oameni mai puțin conștiincioși care considerau normal ca elevul lor să copieze fără nicio explicație.

Când a devenit clar că voi părăsi centrul de formare și că programul Python trebuie continuat cumva anul viitor, am început să-mi scriu manualul. Pe scurt, l-am împărțit în două părți, în prima am explicat totul despre tipurile de date, esența lor, operațiunile cu acestea și instrucțiunile de limbă. Între subiecte am făcut QnA pentru ca viitorul profesor să poată înțelege cum a învățat elevul subiectul. Ei bine, la final am făcut un mic proiect-sarcină. Prima parte explică astfel elementele de bază ale limbii și le mestecă, adică aproximativ 12-13 lecții a câte 30-40 de minute fiecare. În a doua parte, am scris deja despre OOP, am descris modul în care implementarea acestei paradigme în Python diferă de majoritatea celorlalte, am făcut multe link-uri către ghidul de stil etc. Pentru a rezuma, am încercat să fiu cât mai diferit de ceea ce era în manualul Java. I-am scris recent profesorului meu actual de Python, cerându-i feedback cu privire la materiale, iar acum mă bucur că totul este bine, că copiii înțeleg cu adevărat programarea în Python.

Ce concluzie aș vrea să trag din această poveste: dragii mei părinți, dacă vă hotărâți să vă trimiteți copilul la un centru de antrenament, atunci monitorizați cu atenție ce fac, că copilul dumneavoastră nu pierde timpul în zadar, pentru a nu descuraja el de la dorinţa de a programa în viitor.

UPD: După cum s-a menționat corect în comentarii, nu am spus aproape nimic despre prezentarea materialului. Voi spune imediat că cred că ar trebui să fie mai multă practică, pe cât posibil. La sfârșitul fiecărei lecții din prima parte, am făcut 4-5 mici sarcini de practică pe tema capitolului. Între capitole au fost QnA (lecții de control), unde au fost și sarcini practice, dar deja evaluate, iar la finalul primei părți a fost un proiect cu o temă din care să alegi dintre cele propuse. În a doua parte, am făcut o introducere în OOP prin crearea unui mini-joc de consolă, a cărui dezvoltare a fost întreaga a doua parte și întreaga introducere în paradigmă.

Numai utilizatorii înregistrați pot participa la sondaj. Loghează-te, Vă rog.

Copilul dumneavoastră învață programarea la un centru de formare?

  • 4,6%Da3

  • 95,4%Nr.62

Au votat 65 utilizatori. 27 utilizatori s-au abținut.

Sursa: www.habr.com

Adauga un comentariu