Summer School – III giorno

20160824_150807

24 agosto 2016 – Terzo giorno di Summer School

[giorno precedente]

La giornata inizia con il pensiero rivolto alle vittime e alle tante persone colpite dal terremoto che nella notte abbiamo avvertito senza sapere cosa stava provocando altrove.

  • 09:00-10:30 Workshop Blockly: come creare e rappresentare il proprio repertorio di blocchi di programmazione visuale [video][screencast]
  • 10:30-12:00 Workshop Scratch con Derek e Joek: variabili e liste in Scratch [video][screencast]
  • 12:00-15:00 Lavori di gruppo pranzando 
  • 15:00-16:00 Le istruzioni, gli algoritmi e la complessità [video]
  • 16:00-17:30 Lavoro di gruppo: individuazione di un esempio pratico specifico per il quale definire istruzioni e procedure
  • 21:00-23:00 Trekking euleriano per i vicoli di Urbino, con il CAI e la Pro Urbino [video]

[giorno successivo]

Risultati

Abbiamo visto come costruire blocchi che rappresentino istruzioni di ogni tipo, come aggiungere parametri, come specificarne la forma e le regole di incastro per esprimere le regole sintattiche.

Con Derek e Joek abbiamo visto come usare le variabili e le liste, scoprendo che oltre alle variabili che possono essere definite con appositi blocchi ce ne sono tante all’interno di ogni repeertorio, usate per rappresentare colori, posizioni, ecc. Abbiamo visto che le liste si possono costruire a mano, come se fossero delle costanti, o manipolare con appositi blocchi, in modo da renderle dinamiche durante l’esecuzione del codice.

I gruppi hanno iniziato ad individuare esempi di concetti e attività e capacità specifiche delle proprie discipline e dei propri livelli scolastici riscontrando utilissime difficoltà la cui condivisione ci ha permesso di definire molto meglio l’attività di ogni gruppo.

Abbiamo approfondito la differenza tra istruzioni, procedure e funzioni, per poi arrivare a parlare della complessità degli algoritmi e del potere che ogni algoritmo ha di risolvere o semplificare per sempre un’intera categoria di problemi. Abbiamo capito che la complessità di un problema dipende dal più semplice algoritmo noto per risolverlo e abbiamo visto che ci sono problemi computazionalmente difficili la cui soluzione richiede un tempo che cresce in modo esponenziale con la dimensione del problema. Tra questi c’è la determinazione del più lungo cammino euleriano su una mappa, cioè di un percorso che percorra quante più strade possibile senza mai passare due volte per la stessa strada.

Abbiamo usato il centro storico di Urbino come terreno di sperimentazione e abbiamo trovato due soluzione euristiche al problema della determinazione di cammini euleriani. La prima soluzione euristica è un cammino euleriano di poco più di 4km che non è garantito essere il più lungo, la seconda soluzione euristica è un cammino di più di 9km che non è perfettamente euleriano.

In collaborazione con il CAI e la Pro Urbino abbiamo percorso in lungo e in largo le strade e i vicoli seguendo i due cammini. Vista dall’alto, tra le 21 e le 23 la città di Urbino sarebbe sembrata lo schema di un videogioco in cui si rincorressero due serpenti di 90 persone ciascuno.

urbinonfoot

 

2 commenti su “Summer School – III giorno

  • Gentile Professor Alessandro Bogliolo,
    è possibile avere la libreria di blocchi Blockly base creata da Brendan per la summer school? Grazie.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *