Come ho insegnato e poi ho scritto un manuale su Python

Come ho insegnato e poi ho scritto un manuale su Python
Nell'ultimo anno ho lavorato come insegnante in uno dei centri di formazione provinciali (di seguito denominati TC), specializzato nella programmazione didattica. Non nominerò questo centro di formazione; cercherò anche di fare a meno dei nomi delle aziende, dei nomi degli autori, ecc.

Quindi, ho lavorato come insegnante in Python e Java. Questa CA ha acquistato materiale didattico per Java e ha lanciato Python quando sono arrivato e glielo ho suggerito.

Ho scritto un manuale per studenti (essenzialmente un libro di testo o un manuale di autoistruzione) su Python, ma l'insegnamento di Java e i materiali didattici che venivano utilizzati lì hanno avuto un'influenza significativa.

Dire che erano terribili è un eufemismo. La modalità del libro di testo Java, fornito da un'azienda molto nota in Russia, non era quella di insegnare a una persona le basi di questa lingua in generale e il paradigma OOP in particolare, ma di garantire che i genitori venuti ad aprire le lezioni hai visto come tuo figlio o tua figlia hanno copiato il serpente o gli scacchi dal libro di testo. Perché dico cancellato? È molto semplice, il fatto è che il libro di testo prevedeva interi fogli (A4) di codice, di cui alcuni aspetti non erano spiegati. Di conseguenza, l'insegnante deve controllare a che punto del codice si trova ora ogni studente, spiegando ogni riga, oppure tutto si trasforma in imbroglio.

Dici: "Bene, cosa c'è che non va, lascia che l'insegnante faccia un lavoro migliore, e gli scacchi e un serpente sono fantastici!"

Ebbene, tutto andrebbe bene se il numero di persone nel gruppo non fosse inferiore a 15, e questo è già significativo se segui tutti, spiegando: "Ma comunque, perché stiamo scrivendo questo?"

Oltre al numero di persone nel gruppo, c'è un altro problema associato a questo metodo. Il codice è scritto... come dovrei dirlo, semplicemente orribile. Un insieme di antipattern, arcaici, visto che il libro di testo non viene aggiornato da molto tempo, e il nostro preferito, ovviamente, è lo stile della guida. Pertanto, anche se controlli tutti i tuoi studenti e puoi spiegare loro in modo rapido e chiaro cosa significa il codice che stai cancellando, il codice stesso è così terribile che ti insegnerà la cosa sbagliata, per usare un eufemismo.

Ebbene, l'ultima cosa che distrugge letteralmente questo libro di testo è che fin dall'inizio non c'è almeno un'introduzione adeguata che spieghi cosa sono i tipi di dati, che sono oggetto e primitivi, quale criterio controlla la proprietà che genera questa dicotomia, ecc. Nel primo capitolo, a te e ai tuoi studenti viene chiesto di creare (copiare) un programma che crei una finestra e scriva "Ciao!", ma non spiega cosa significa effettivamente questo foglio di codice, si collega solo a ulteriori lezioni, ad esempio , si menziona che "main" è il punto di ingresso, ma il concetto stesso di "punto di ingresso" non è nemmeno esplicitato.

Per riassumere, questa carta straccia era un meme anche tra insegnanti e dirigenti. Ai bambini non ha insegnato assolutamente nulla, una volta mi sono imbattuto in un gruppo che studiava questi materiali già da un anno, alla fine non riuscivano nemmeno a scrivere un ciclo, noto che erano tutti molto intelligenti e presto tutto non era poi così male. La maggior parte dei colleghi ha cercato di discostarsi dal materiale didattico in modo che il materiale venisse assorbito e non volasse semplicemente in aria, anche se c'erano persone meno coscienziose che consideravano normale che il proprio studente copiasse senza alcuna spiegazione.

Quando è diventato chiaro che avrei lasciato il centro di formazione e che il programma Python doveva essere continuato in qualche modo l'anno prossimo, ho iniziato a scrivere il mio libro di testo. Insomma, l'ho diviso in due parti, nella prima ho spiegato tutto sui tipi di dati, la loro essenza, le operazioni con essi e le istruzioni del linguaggio. Tra un argomento e l'altro ho svolto domande di risposta in modo che il futuro insegnante potesse capire come lo studente ha appreso l'argomento. Bene, alla fine ho realizzato un piccolo progetto di attività. La prima parte quindi spiega e approfondisce le basi della lingua, ovvero circa 12-13 lezioni da 30-40 minuti ciascuna. Nella seconda parte ho già scritto dell'OOP, descritto come l'implementazione di questo paradigma in Python differisce dalla maggior parte degli altri, ho creato molti collegamenti alla guida di stile, ecc. Per riassumere, ho cercato di essere il più diverso possibile da quanto riportato nel libro di testo Java. Recentemente ho scritto al mio attuale insegnante di Python, chiedendo feedback sui materiali, e ora sono felice che tutto vada bene, che i bambini capiscano davvero la programmazione in Python.

Quale conclusione vorrei trarre da questa storia: miei cari genitori, se decidete di mandare vostro figlio in un centro di formazione, controllate attentamente cosa stanno facendo, che vostro figlio non perda tempo invano, per non scoraggiarsi lui dal voler programmare in futuro.

UPD: Come giustamente notato nei commenti, non ho detto quasi nulla sulla presentazione del materiale. Dirò subito che credo che ci dovrebbe essere più pratica, quanto più possibile. Alla fine di ogni lezione nella prima parte, ho svolto 4-5 piccoli compiti pratici sull'argomento del capitolo. Tra i capitoli si svolgevano le QnA (lezioni di controllo), dove c'erano anche compiti pratici, ma già valutati, e alla fine della prima parte c'era un progetto con un argomento tra cui scegliere tra quelli proposti. Nella seconda parte ho fatto un'introduzione all'OOP attraverso la creazione di un minigioco per console, il cui sviluppo ha costituito l'intera seconda parte e l'intera introduzione al paradigma.

Solo gli utenti registrati possono partecipare al sondaggio. AccediPer favore.

Tuo figlio sta imparando a programmare in un centro di formazione?

  • 4,6%Sì3

  • 95,4%No62

65 utenti hanno votato. 27 utenti si sono astenuti.

Fonte: habr.com

Aggiungi un commento