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.

Advertisements
Post a comment or leave a trackback: Trackback URL.

Commenti

  • Fabio  On 4 novembre 2011 at 18:26

    Articolo molto interessante e sinceramente non ne avevo mai sentito parlare.
    Ormai siamo vecchi 🙂 sicuramente da provare però..grazie Pier!

  • Mattux  On 4 novembre 2011 at 19:17

    Bel post! Vedrò di provare Scratch quanto prima 🙂

  • Giuseppe Iannaccone (@iannak1)  On 5 novembre 2011 at 10:27

    Ci avevo provato due anni fa, con mia figlia Sofia allora di 5 anni. Non c’e’ stato niente da fare, l’interfaccia era troppo complicata. Sofia era in grado di usare i programmi di disegno al pc, tipo inkscape, ma quello no. Quasi quasi ci riprovo ora che ha 7 anni.

    Dubbio: ma c’e’ qualcuno che ci ha provato davvero con un bambino/a? e che puo’ dirci se lo prendono veramente come un gioco compulsivo?

    • glipari  On 5 novembre 2011 at 17:36

      Ciao Giuseppe,
      la nostra affezionata lettrice Rosalba (nonchè la nostra maestra di scuola elementare preferita), dice che un suo alunno è un grande amante di Scratch. Io non l’ho mai provato.
      Magari tra un po’ lo faccio provare a Edoardo per vedere l’effetto che fa…

  • glipari  On 5 novembre 2011 at 17:37

    Ma qui nessuno ha mai sentito parlare del Logo? Sono solo io a essere così nerd?

  • piergiu  On 11 novembre 2011 at 13:28

    Vaghe rimembranze del nome ma mai provato! lo proverò al più presto!
    Hanno sempre qualcosa di interessante questi linguaggi a scopo ‘pedagogico’ 😛 (a parte BlueJ…scherzo!)

  • piergiu  On 22 aprile 2013 at 11:52

    Reblogged this on Can't talk, computing… and commented:
    Scrivi qui i tuoi pensieri… (opzionale)

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: