Seconda lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/q6VI-V_v5cI
6. BIBMOOC 1.2 alessandro bogliolo
I ruoli
• Programmatore: scrive il programma
• Esecutore: lo esegue
• Il meccanismo di delega richiede:
• Repertorio di istruzioni elementari non ambigue
• Rispetto delle regole sintattiche del linguaggio adottato
• Rispetto dei ruoli
7. BIBMOOC 1.2 alessandro bogliolo
Coding
• Attività ludica e/o didattica basata sull’uso intuitivo dei principi base
della programmazione
• Elemento caratterizzante delle attività di coding è la separazione di
ruoli tra programmatore ed esecutore ideale del procedimento
• L’oggetto dell’attività è un procedimento descritto in termini di
istruzioni elementari non ambigue, prese da un repertorio
prestabilito
• Grazie alla condivisione di un linguaggio formale il programmatore
affida all’esecutore ideale la descrizione rigorosa del procedimento e
ne delega l’esecuzione
8. BIBMOOC 1.2 alessandro bogliolo
La delega
• Programmatore: utilizza in modo rigoroso le istruzioni (e i costrutti)
del repertorio, rispettando la sintassi del linguaggio di
programmazione, per scrivere un programma che descriva un
procedimento come sequenza di passi elementari
• Esecutore ideale: legge, interpreta ed esegue ad una ad una le
istruzioni che compongono il programma. Per semplicità chiameremo
robot l’esecutore ideale
• Il programmatore delega l’esecuzione del programma all’esecutore
9. BIBMOOC 1.2 alessandro bogliolo
Pensiero computazionale
• Capacità di elaborare soluzioni algoritmiche e di esprimerle in modo
talmente rigoroso da poterne affidare l’esecuzione ad una macchina
• Questa capacità merita di essere coltivata e applicata in modo
interdisciplinare perché costituisce una sorta di fertilizzante che
prepara il terreno per l’uso consapevole della tecnologia e per la
comprensione profonda degli aspetti computazionali delle attività che
svolgiamo e della realtà che ci circonda.
12. BIBMOOC 1.2 alessandro bogliolo
I piani dell’azione e del programma
• Il robot si muove sul piano del programma leggendo le istruzioni in
sequenza, dall’inizio alla fine del programma, passando da
un’istruzione alla successiva in modo automatico (a meno di eccezioni
dettate dalle istruzioni stesse)
• Il robot si muove sul piano dell’azione eseguendo le istruzioni
• Si fa riferimento implicito alla memoria di programma
• Differenza tra telecomando e programma
14. BIBMOOC 1.2 alessandro bogliolo
Un algoritmo è per sempre
Gli algoritmi sono tra le più alte
conquiste culturali dell’umanità
Un problema con una soluzione algoritmica nota
non è più degno di essere considerato un problema
alessandro.bogliolo@uniurb.it
15. BIBMOOC 1.2 alessandro bogliolo
G. Boole, The Mathematical Analysis of Logic, Being an Essay Towards a Calculus of Deductive Reasoning, Macmillan, Barclay, &
Macmillan, Cambridge, 1847.
G. Boole, An Investigation of The Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities,
Macmillan, 1854.
George Boole
16. BIBMOOC 1.2 alessandro bogliolo
Claude Shannon
C. E. Shannon, A Symbolic Analysis of Relay and Switching Circuits, Master of Science Thesis, MIT; in Transactions of the American
Institute of Electrical Engineers, vol. 57, pp. 713–723, 1938
C. E. Shannon, A Mathematical Theory of Communication, Bell System Technical Journal, vol. 27, pp. 379–423, 623–656, 1948
17. BIBMOOC 1.2 alessandro bogliolo
Moore’s law
G. E. Moore, Cramming more components onto integrated circuits, Electronics. 1965.
18. BIBMOOC 1.2 alessandro bogliolo
La programmazione è
la strada più veloce
verso l’innovazione
Consente di realizzare le proprie idee scrivendo
nuove righe di codice per le decine di miliardi
di oggetti programmabili già esistenti
19. BIBMOOC 1.2 alessandro bogliolo
Il pensiero computazionale non ha bisogno della tecnologia
La tecnologia ha bisogno del pensiero computazionale
20. BIBMOOC 1.2 alessandro bogliolo
Coding
Nel coding quel che conta è il procedimento.
Il debugging è parte integrante del processo di programmazione.
Strumenti:
• Coding unplugged
• Programmazione visuale a blocchi
• Robotica educativa
21. BIBMOOC 1.2 alessandro bogliolo
Non tutto è coding…
Tinkering
Pensiero critico
Didattica digitale
Educazione civica digitale
Robotica
Pixel art
STEM
STEAM
…