Ischool 2015/16
lezione di informatica,
Marcello Cenati
Argomento: Primi passi nella
programmazione dei calcolatori
Per chi: indirizzata al primo
anno grafica e comunicazione
Lezione: I tre principi base
della programmazione strutturata (teorema di Bohm-Jacopini, 1966)
- sequenza di operazioni
- decisione sulla base di una condizione (vera o falsa)
- ripetizioni di operazioni
lo sappiamo già!
nonostante siano concetti utilizzati
tutti i giorni fin da piccoli, non sono mai stati formalizzati prima
probabilmente.
Ancor più incredibile: con questi tre
semplici concetti di logica si possono costruire TUTTI i possibili
algoritmi e programmi, anche i più complessi, dalle app del meteo
sui telefoni che abbiamo in tasca ai programmi di gestione aziendale,
di disegno tecnico, o per mandare l'uomo su Marte...
Il teorema di Bohm-Jacopini, che
nonostante i cognomi sono due informatici italiani, dice proprio
questo. Non poco.
Fonte accademica, complessa assai, solo
come riferimento. Paper degli autori: Flow Diagrams, Turing Machines
And Languages With Only Two Formation Rules. Corrado Bohm and
Giuseppe Jacopini, International Computation Centre and Istituto
Nazionale per le Applicazioni del Calcolo, Roma, Italy
http://www.cs.unibo.it/~martini/PP/bohm-jac.pdf
Fonte divulgativa, leggibile dai
ragazzi:
Basi pedagogiche e risorsa primaria:
piattaforma di sviluppo di software
SCRATCH (imparare da zero, “from scratch”) sviluppata e
ospitata presso il M.I.T. di Boston. Http://scratch.mit.edu
Si tratta di un sistema intuitivo e
visuale basato sulle ricerche di Seymour Papert creatore del
linguaggio LOGO e del concetto di costruzionismo
nell'apprendimento.
In questo ambito i concetti sono
sperimentati direttamente dai ragazzi che apprendono grazie alla
possibilità di realizzare “artefatti cognitivi”. (ASTRAZIONE
LOGICA E CONCRETO)
Sulla base di principi logici e
matematici rigorosi gli studenti sono sollecitati a provare,
sbagliare, riprovare esperienze di creazione di oggetti interattivi,
quali per esempio un semplice gioco didattico. (DIVERTIMENTO).
L'errore e la sua gestione autonoma o
guidata è un elemento cruciale di questa attività di apprendimento.
“...Proviamo profe!”, Gorghe. (UTILITA' DELL'ERRORE e TENTAR NON
NUOCE).
Citazione del motto all'entrata di
Google: “sbaglia presto, sbaglia spesso”. Strano ma è così,
e del “payoff” di Wired Italia:
“Inventa, Sbaglia, Innova”
Risorse di riferimento:
- il progetto Computer Science First di Google, con video didattici per la costruzione passo passo dei primi progetti interattivi. Oltre ai video (in inglese, difficile!... ma con ampie e ben fatte schermate riepilogative) è a disposizione un riepilogo stampato in formato PDF. (DIVERSITA' DI CANALI). L'esercitazione è guidata passo passo e si può eseguire in autonomia, seppur con il costante supporto di compagni (a destra, a sinistra e alzandosi anche più là in lab...) e dell'insegnante per problemi che non si riescono a risolvere...
- Si usa come luogo di riferimento per le informazioni, comprese le consegne, i tempi, le dritte e i collegamenti alle risorse web, il blog di classe: http://cenatiscuola.blogspot.it/2016/01/sport-estremi-in-scratch.html
Esercitazione, durata: 2 ore da
svolgersi in laboratorio dotato di calcolatori e connessione al web
Finalità: introduzione alla
programmazione e al teorema di Bohm-Jacopini
Obiettivo: creare un progetto
interattivo in linguaggio scratch in grado di simulare un ragazzo
impegnato in sport estremi: su uno skateboard deve evitare tutti gli
ostacoli che si parano incontro!
Obiettivi di apprendimento e
socializzazione:
- comprendere le tre strutture base della programmazione,
- prendere familiarità con l'ambiente di sviluppo scratch,
- saper chiedere e offrire supporto ai propri compagni per attività di sviluppo,
- comprendere il valore della condivisione del proprio lavoro, in questo caso nella comunità di scratch, da cui prenderemo esempi condivisi da altri utenti come noi...
Difficoltà riscontrate e
cambiamenti in corso:
- video in lingua inglese, con sottotitoli in inglese. Ho dovuto aggiungere il supporto del materiale stampato, disponibile in pdf sul blog di classe.
- grande diversità nella velocità di esecuzione e comprensione. I più veloci hanno poi aiutato gli altri...
- davvero realizzato in due ore dai più: aggiunti altri livelli di difficoltà
- alcuni problemi di collegamento internet...
Sorprese +:
- Grande varietà nella realizzazione della consegna!
- Forte riscontro nell'aiuto tra pari
- entusiasmo per le realizzazioni, soprattutto grazie alla interattività
- buona soglia di tenuta nell'ascolto dei video in inglese, nonostante la difficoltà
Esempio realizzato (2 ore):
https://scratch.mit.edu/projects/93550441/
altro esempio del progetto, rivisitato
per personaggio e ostacoli (4 ore):
https://scratch.mit.edu/projects/94591751/