Tag Archives: kinder

Kinder programming

Dexter

(questo post è gentilmente offerto da piergiu, nuovo e prezioso collaboratore di ok panico!)

“Ci scusiamo per l’intrusione, il palinsesto di “Ok, panico” riprenderà al più presto!”

Questo post è rivolto ai giovani, che dico giovani, giovanissimi, anzi, appena usciti dall’asilo!
Voi direte: ” Eh, adesso cosa vuoi dire, che questo post di ok panico è per i bambini di 6 anni? eh? vuoi insegnare loro a programmare in python o c++? già da questa età?”
e io potrei tranquillamente rispondervi: “Insegnare a programmare ai bambini di 6 anni? Non io, ma voi! e non in python o c++, troppo presto..casomai tornano qui su Ok, panico e sfogliano il grande archivio costruito da juhan, dr.prof e altri!”

Non tanto per tentare inutilmente di fare concorrenza all’India che sforna prodigi informatici di giovane età,  ma per far si che i nostri futuri successori siano già pronti e con delle armi in più per affrontare questo mondo che ogni giorno trova modo di programmarci! (“ah ci metti pure la morale eh?” – “no però controlla questo video (link a youtube) e poi mi dirai..”)

Quanto iniziai sbadatamente a programmare fu in prima superiore col pascal e turbopascal: un pochetto ostico tant’è che solo in pochi di quella classe di una 20ina studenti ci ‘affezionammo’ alla programmazione. Peccato!

Forse era anche già tardi, ma chissà: per questo non perdiamo altro tempo, bando alle ciance e iniziamo sul serio.
Infondiamo il piacere del programmare ai giovincelli!

Scratch!

Non si tratta di un linguaggio di programmazione, ma il concetto è quello. Certo a un bambino non interessa (per ora) se questo linguaggio sia o meno Turing completo. Non interessa nemmeno avere subito a che fare con i flowchart.
Diamogli qualcosa di familiare, come dei blocchi,mattoncini..mattoncini stile lego!
Andate qua al sito ufficiale e prelevate una bella copia di questo software: anche se siete esperti, vi farà piacere usare questo software.

Scratch è sviluppato dal Lifelong Kindergarten Group dei Media Lab del MIT, con il supporto finanziario della National Science Foundation, di Microsoft, Intel Foundation, Nokia, Iomega, e dei consorzi di ricerca dei Media Lab del MIT.

Grandi nomi per un progetto ambizioso(non sono solo io con idee strane, di programmatori giovani alla Dexter ..)

Quando i ragazzi creano e condividono i loro progetti Scratch, imparano importanti idee matematiche e computazionali e allo stesso tempo imparano a pensare creativamente, a ragionare con sistematicità e a lavorare in collaborazione.

La comunità online di Scratch ne fa di tutti i tipi, dai giochi alle avventure grafiche, ma anche la semplice programmazione è ammessa.
Infatti esistono varie sezioni di ‘mattoncini’ o blocchi, dove è possibile inizializzare variabili, cambiarne valore, generare numeri random, fare confronti da risultati booleani, for, while, while(true), do-while e altri, come anche controlli di collisione e gestione di varie tipologie di eventi: insomma Scratch è per l’informatica, quanto un Phun( ora Algodoo ) è per la fisica, o Geogebra per algebra/matematica!

L’interfaccia è uber-semplice, e l’uso ancora di più: basta fare drag ‘n’drop dalla palette dei blocchi e incastrarli nel piano di lavoro, nel modo più oppurtuno, creando sequenze con annidamenti e gestione parallela di eventi!
Un esempio: ho creato questo script/sketch/scratch che di solito faccio con la penna su un foglio quadrettato quando sono in una situazione noiosa(meeting/lezione/{a scelta}) e non posso uscirne immediatamente.

Da un quadretto mi sposto seguendo una direzione e riempiendo i quadretti che incontro fino ad arrivare ad un bordo per poi cambiare direzione. Fino a riempire il foglio, o fino a creare un qualche pattern carino, o fino a fine inchiostro.
State già pensando a come farlo in Java, c++, python, visualbasic, in fortan vero? Nerd-power ♥
(fatemi sapere come avete fatto voi qui sotto con un commento, ci tengo!)

Ebbene ecco uno screenshot del programma creato in due minuti circa.


Lo scopo originale di Scratch è quello di impartire programmi a un esserino dalle sembianze di un gatto, ma in realtà io ho cambiato semplicemente la cosidetta “sprite”, immagine, che rappresenta il gatto e l’ho sostituita con un pixel(tutto nello stesso ambiente di Scratch).

Per ogni direzione impostata si creano pattern differenti.
Come si può notare ho creato due blocchi, uno che risponde all’evento del click sulla bandiera verde per mandare in Run lo script e uno che risponde alla pressione della barra spaziatrice per fermare lo script.
Nel primo inizializzo delle variabili che mi servono come range per il punto iniziale del disegno, scelto random.
Poi passo a disegnare e in una sorta di loop infinito eseguo i movimenti e controllo se è necessario cambiare direzione poiché giunti al bordo.
Nel secondo blocco impongo di fermare tutta l’esecuzione alla pressione della barra spaziatrice.

Notare il linguaggio naturale, dall’uso dell’imperativo nei verbi, come a ricordare cosa è un algoritmo, ovvero una sequenza di passi da fare per raggiungere uno scopo.
Non c’è molto altro da dire a riguardo, la classica situazione del “si fa prima a fare che a dire”.
Possibilità di playback di audio e di uso di penna( come nell’esempio ), come anche possibilità di mettere in pausa un processo per {n} secondi e così via.

Concludendo questa invasione barbarica su Ok, Panico, vi invito a provare voi stessi Scratch e sopratutto ai vostri parenti più piccoli: evangelizzateli con la parola dell’informatica. Fatemi sapere come va!
Ramen.

Se siete arrivati a leggere fin qua, vi ringrazio per la pazienza e vi ricordo :

Programma o sii programmato.

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 82 follower