Teaching‎ > ‎Algoritmi per bimbi‎ > ‎

Diario delle lezioni 2014

Un breve diario dell'esperienza che sto avendo con una seconda elementare cone lezioni settimanali da un ora. Pazienza e capacità di adattamento sono necessarie, ma i risultati possono essere sorprendenti ed emozionanti!

Ottava ed ultima lezione

posted Jan 31, 2014, 2:28 AM by Andrea Vitaletti   [ updated Jan 31, 2014, 2:30 AM ]

Esperimento ... scrivo alla lavagna tutte le cose che abbiamo fatto e lascio liberi i ragazzi di scrivere un programmino che contenga tutte le istruzioni o almeno la maggiorparte.

Troppo giovani per questa libertà :-) ... non riescono a focalizzare su un possibile progettino. In verità qualcuno ci prova e realizza qualcosina, ma la progettualità è qualcosa che probabilmente verrà poi, o almeno deve essere ancora fortemente guidata.

Sicchè ripiego sulla definizione di un quadrato dal lato variabile che viene fornito come parametro e gli chiedo di far variare il lato con un ciclo for.

Insomma... sebbene ci sia def quadrato(lato): ... la prima istruzione che mettono tutti è forwrard(100)... così come la progettualità deve maturare altrettanto la capacità d'astrazinoe, che d'altronde della progettualità è elemento fondamentale.

Ci ragioniamo su e finalmente arriviamo alla conclusione che la prima istruzione deve essere forward(lato).


CONCLUSIONI:

1) Una bella esperienza che spero abbia convinto i ragazzi che il computer può essere programmato e non solo usato
2) Sebbene 8 lezioni siano decisamente poche sono comunque qualcosa ed i concetti di istruzione, sequenza di istruzioni, modulo, parametro ed iterazione credo ora abbiano per i ragazzi un significato... sebbene non sempre chiarissimo :-)
3) Sarebbe fondamentale che i ragazzi continuassero autonomamente a casa o a scuola
4) L'interazione con le maestre deve essere più strutturata e compatibilmente con le esigenze didattiche alcuni concetti visti ad informatica dovrebbero essere approfonditi ... peraltro le maestre hanno già fatto molto in questa direzione

Miglioreremo la prossima volta.

Settima lezione

posted Jan 20, 2014, 8:56 AM by Andrea Vitaletti

Proviamo a introdurre il concetto di iterazione.



Una scala è fatta di gradini. Se definiamoil modulo del gradino, basta richiamarlo n volte per avere una scala di n gradini. Per fare questo si usa il costrutto for.



I ragazzi sono stati bravissimi, la grande maggioranza ha completato l'esercizio. L'unico problema è il tab del for ... ma per il resto tutto a posto. Bene così.


Sesta Lezione

posted Jan 13, 2014, 8:54 AM by Andrea Vitaletti

Oggi prima lezione dopo le vacanze ... cominciamo piano.

Riguardiamo il concetto di modulo ed introduciamo i parametri. Ora siamo in grado di passare come parametro il colore e la posizione dei quadrati.

Capiamo bene come si posizionano i quadrati. Attenzione che gli assi sono orientati in modo "curioso".




Dopo aver capito come posizionare i quadrati andiamo in aula e lavoriamo sul programma.


Come al solito molta confusione, ma la stragrande maggioranza dei ragazzi sono stati in grado di disegnare i quadrati colorati , anche se il loro posizionamento è ancora un mistero ;-)

Quinta Lezione

posted Dec 16, 2013, 4:36 AM by Andrea Vitaletti   [ updated Dec 16, 2013, 4:38 AM ]

Oggi abbiamo rivisto per benino tutti i concetti della quinta lezione e finalmente il 70% della classe ha fatto la bandiera. Il rimanente 30% era comunque a buon punto e credo la possa fare autonomamente.

E' ora di un primo bilancio:

1) Inutile spingere troppo, meglio consolidare quanto fatto fin'ora e cioé:

  • forward(100)
  • left(90)
  • right(90)
  • def quadrato():
  • fill("red")
  • goto(100,0)
  • reset()

2)  Quando le maestre hanno modo di riprendere i concetti durante le ore di lezione, tutto funziona molto meglio

3) Invece di introdurre nuovi concetti, meglio comporre le istruzioni in modo da raggiungere obiettivi diversi. Per esempio l'albero di Natale

4) Come obiettivo del corso, sarei soddisfatto se i ragazzi fossero in grado di gestire l'iterazione. Per esempio a partire dal modulo di un gradino, generare una scalinata

5) L'introduzione di istruzioni condizionali (es if, while) è forse prematuro, abbiamo poco tempo, ma staremo a vedere.

Intanto Buon Natale e poi grazie, mi sono divertito

Quarta Lezione

posted Dec 9, 2013, 1:47 AM by Andrea Vitaletti

Confermo ... l'abero di natale è troppo ambizioso! ... ripiego sulla bandiera.


Abbiamo rivisto il concetto di modulo cone l'esempio di un moduloper realizzare un quadrato di lato 100. Poi abbiamo introdotto l'istruzione fill("colore") per riempire i quadrati e goto(x,y) per collocare i quadrati dove necessario.

Credo che ora il concetto di modulo sia chiaro, ma non sono sicuro che l'interazione tra l'editor (in alto a destra) dove si dichiara il modulo e l'interprete (in basso a destra) dove si usa il modulo, sia altrettanto chiara. Peraltro attenzione: affinchè il modulo sia richiamabile dall'interprete, va premuto il tasto test/run.

Tuttavia, tutti sono stati in grado di colorare un modulo quadrato.

Invece il goto(x,y) è ancora piuttosto ostico. Questa istruzione ci serve per collocare i quadrati della bandiera nella giusta posizione. Il principale problema è l'oreintamento degli assi. I bimbi sono abituati all'usuale  x ( da destra a sinistra), y (dal basso in alto), mentre  in pynguin x è come di consueto  da destra a sinistra, ma y è dall'alto in basso. Inoltre, notate che è necessario introdurre nel modulo l'ultima sitruzione left per ricreare le condizioni iniziale, in cui il pinguino ha il becco verso destra.

La maestra ci lavorerà in settimana e vediamo che succede nella prossima lezione.

NOTA DI COLORE: Sempre tosta mantenerli concentrati, c'è una specie di anzia da prestazione che li spinge a fare prima di capire. Poi sono entusiasti quando riescono a fare cose appariscenti... pinguini enormi, tartarughe rosa oppure milioni di quadrati.  Nella definizione del modulo, l'uso dei TAB per indentare è difficile da digerire, e anche le virgolette nel fill sono ostiche.

Terza Lezione

posted Dec 2, 2013, 1:57 AM by Andrea Vitaletti   [ updated Dec 2, 2013, 2:48 AM ]

Dall'interprete che esegue istruzione per istruzione al programma ed al concetto di modulo

Prima abbiamo scritto il programma del quadrato. In questo caso invece di usare l'interprete interattivo si usa la finestra in alto a destra e poi si manda in esecuzione il programma con il tasto run



NOTA DI COLORE: "perchè il pinguino non si muove" ... i bambini devono capire la differenza tra la singola istruzione interpretata immediatamente e la sequenza di istruzioni eseguite in blocco... richiede un po' di tempo. Come al solito il delirio in classe, "maestro su", "maestro giù", "maestro qui" ... mi fermo e dico ad un bimbo "vieni tu e fai il maestro" ... capiscono che se parlano tutti insiemi non ha senso. Hanno spesso fretta e quindi perdono l'attenzione è quindi importante ripetere più e più volte i concetti e sfidarli "allora se hai capito, spiegacelo" ... "ehm!!!", "ok allora provo a rispiegarlo" ... in questo modo si ottiene attenzione ... qualche volta ;-)

Un volta fatto girare il primo programma, lo facciamo girare più volte e ragionamo sul fatto che venga una specie di finestra ... voglio fargli capire che dipende dall'orientamento del pinguino e credo sia un primo esercizio propedeutico al concetto di iterazione


Infine rapida introduzione del concetto di modulo che può essere richiamato. Parto dall'idea di programma e la generalizzo in  modulo... ci dobbiamo lavorare bene la prossima volta



Siamo vicini a Natale e vorrei condurli a realizzare un albero di natale tipo quello qui sotto, forse è troppo ambizioso ... staremo a vedere la prossima volta.





Seconda Lezione

posted Dec 2, 2013, 1:31 AM by Andrea Vitaletti

Dopo un ripasso delle istruzioni che avevamo visto alla lavagna la vota scorsa, e l'introduzione degli argomenti per il forward - forward(100) - e il left - left(90) -  abbiamo avuto il primo approccio con il laboratorio.


L'obiettivo è stato rifare istruzione per istruzione il quadrato che avevamo viso alla lavagna. Per questo motivo abbiamo usato l'interprete interattivo /finestra in basso a destra) in cui a seguito di ciascun istruzione i bambini vedono immediatamente il risultato.

Circa il 40% hanno completato il quadrato ed il rimanente 60% ha capito come fare, ma non è riuscito a finire nel tempo a nostra disposizione.

NOTA di COLORE: I bambini sono eccitatissimi. Tenerli concentrati è difficile. Solo per far partire il programma ci vogliono una decina di minuti e poi "non ho capito", "non mi parte", "che succede", "il pinguino è uscito dallo schermo", "non è un pinguino ma una trataruga"... etc. Sono però molto veloci e se la pazienza ti assiste si raggiunge l'obiettivo. Anche l'uso delle parentesi tonde, che richiede lo shift, deve essere introdotto con pazienza ;-)

 

Prima Lezione

posted Nov 23, 2013, 9:52 AM by Andrea Vitaletti

Prima lezione tutta in classe senza PC, usando lavagna e pavimento

Tre sezioni da 20 min circa ciascuna

1. Cos'è per voi il PC e a cosa serve... Come mi aspettavo l'idea di programmare non è comparsa


2. Programmare ... Li ho fatti arrivare all'idea della programmazione e del raggiungimento di un obiettivo programmato attraverso l'esempio di programmare una festa 

3. È possibile programmare il PC ... Il pinguino che parla inglese e le istruzioni base forward, left e right ... Ho impersonato il pinguino e gli ho  chiesto di farmi arrivare dal cestino al banco...

Gli ho lasciato un semplice esercizio e la ma es tra ha detto che avrebbe ripreso i concetti nelle sua lezioni


1-8 of 8