Digito Ergo Sum - Pensare e lavorare come un informatico
Le attività di Digito Ergo Sum, progetto di Alternanza Scuola-Lavoro, si svolgono nel laboratorio ALaDDIn e nelle aule del Dipartimento di Informatica dell'Università degli studi di Milano, in Via Celoria 18.
Orari:
- Lunedì 10 giugno 2019: 9.00 -13.00
- Martedì 11 giugno 2019: 9.00 -13.00
- Mercoledì 12 giugno 2019: 9.00 -13.00
- Giovedì 13 giugno 2019: 9.00 -13.00
- Venerdì 14 giugno 2019: 9.00 -13.00
Tutor:
- Prof.ssa Violetta Lonati (responsabile)
- Prof.ssa Anna Morpurgo
- Francesco Pagani
- Giona Chiodini
Lunedì
Informatica, una sfida concettuale
Algoritmi?
- a coppie - Vi verrà consegnato un foglio con la descrizione di alcune procedure. Decidete, per ognuna delle procedure, se la si può definire algoritmo oppure no, ragionando sulle motivazioni alla base della scelta.
- a gruppi di quattro - Discutete le risposte fornite dalle due coppie; per ognuna delle procedure, concordate un risposta comune. Date una definizione di algoritmo ed elencate le proprietà fondamentali che deve avere per definirsi tale.
- a gruppi di otto - Confrontate le definizioni di algoritmo date dai due gruppi, concordate una definizione e le proprietà fondamentali e scrivetele su cartellone (scrivete sul cartellone anche i nomi dei componenti del gruppo).
Definizione di algoritmo secondo Donald Knuth
La scacchiera
Una partita con gli scacchi può durare parecchio, quindi a volte è necessario interromperla e registrare in qualche modo la posizione dei pezzi. Per registrare le posizioni sono in uso due codifiche alquanto diverse: la TEX e la MAX. A voi scoprirne i dettagli sperimentando col programma Software.
Le indicazioni e le domande di questa scheda potranno guidarvi nel lavoro. Quando riterrete di aver compreso bene le codifiche, inserite la vostra risposta alle domande.
Martedì
Qualche quesito Bebras
Risolvete a coppie i seguenti quesiti delle gare Bebras dell'Informatica e segnatevi su un foglio le vostre risposte
Automatizzare un compito
Introduzione alla programmazione
Labirinti
Lavorando a coppie, scaricate i file (tasto destro, salva destinazione con nome)
Accedete poi al sito di Snap, un ambiente di programmazione visuale. In questa Introduzione a Snap! e Blockly troverete qualche indicazione per questa attività. Cliccate nella barra in alto sull'icona con la pagina bianca, scegliete dal menu la voce importa e, per ogni labirinto, caricate il file maze relativo e create un programma per far arrivare la lampada di Aladino alla meta (quadrato colorato). Cercate di farlo utilizzando il minor numero possibile di blocchi blu (Motion) e sfruttando i blocchi ocra (Control). Prima di passare al labirinto successivo, seguite i seguenti passi per il salvataggio del vostro esercizio:
- dal menu Activities, in alto a sinistra, aprite Libre Office Writer
- andate sulla pagina di Snap e premete il tasto "Stamp" per fare uno screenshot della schermata
- tornate in Libre Office e inserite nel documento lo screenshot appena eseguito (Insert -> Image -> From File... -> selezionare cartella Pictures -> selezionare immagine png con l'orario in cui si è creato lo screenshot, probabilmente sarà l'immagine con timestamp più recente). NB: non serve creare un documento per ogni immagine, inserite tutte le immagini in un unico documento
- passare al labirinto successivo
Al termine del lavoro, salvate il file con i cognomi della vostra coppia e caricatelo sul sito di upload nella sessione chiamata "ALTERNANZA SCUOLA LAVORO - DIGITO ERGO SUM (Edizione Novembre 2018)".
Un programma fitto di eventi
Leggete con cura la scheda che vi è stata consegnata ed esaminate l'interfaccia del software.
Lavorando in gruppo, per ciascuno dei criteri di ordinamento, stabilite se è un criterio adatto, nel senso che garantisce di selezionare il maggior numero di eventi possibili cui assistere; per ciascuno dei criteri di ordinamento che considerate non adatti, fornite un esempio (il più semplice che riuscite a trovare) che mostra perché il criterio non è adatto; per ciascuno dei criteri di ordinamento che considerati adatti, spiegate il ragionamento che vi ha portato a questa conclusione.
Soluzioni di "Un programma fitto di eventi" (controesempi e dimostrazione)
Mercoledì
Introduzione a Javascript e a Raphael
Creare un file di testo. Al termine di ogni esercizio, creare uno snapshot di jsbin (dal menu File > save snapshot) e copiare l'url della pagina nel file di testo.
Disegnare e animare una figura
Disegnare un rettangolo blu in alto a destra, disegnare un cerchio rosso in alto a sinistra, Disegnare una ellissi con un gradiente dal colore del cerchio al colore del rettangolo.
Esercizio 0 JSBIN
Esercizio 0bis JSBIN E0bis
Disegnare la scacchiera
Disegnare una scacchiera 8x8 in cui la casella in alto a sinistra è bianco. Inserire le lettere e i numeri per identificare le caselle.
Esercizio 1 JSBIN E1
Messaggi segreti
Vi verrà consegnato un documento (intitolato Missione segreta) con la descrizione di un ambiente di programmazione visuale (Blockly) che mette a disposizione istruzioni di base (primitive) per estrarre informazioni da un testo. Lavorando a coppie, leggete le istruzioni, poi accedete all'applicazione Blockly e per ogni richiesta della scheda scrivete il programma che avete creato e l'output del programma stesso.
Giovedì
Crittografia
crittoanalisi:
- http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-3/#/
- http://malchiodi.di.unimi.it/crittografia/
Javascript e Raphael
Animazione di un elemento
Associare un elemento sullo schermo ad una funzione al click del mouse
Esercizio 2 JSBIN E2possibile soluzione
Animare un pedone
- Dato un pedone, scrivere la funzione per far avanzare il pedone di una casella ad ogni click del mouse
Esercizio 3 JSBIN E3
- Clonare e posizionare tutti i pedoni bianchi e neri. Ogni pedone deve muoversi in avanti al click del mouse su di esso.
Esercizio 3bis JSBIN E3 possibile soluzione
Animare la scacchiera
Esercizio 4 JSBIN E4 possibile soluzione Partita Famosa da riprodurre
Orientamento
Presentazione dei corsi di laurea
Venerdì
Quesiti Bebras su vari aspetti del pensiero computazionale
- Agenzia di viaggio
- Noci e animali
- Gli oblò oppure Pozioni magiche
- Tronchi da riordinare
- Caccia al ladro oppure Rompere il codice
- Labirinti intricati oppure Un mondo di blocchi
- Meteo oppure Tutti a casa
- Popolarità
Pensiero computazionale
Il pensiero computazionale: definizione ed esempi
Come lavora un informatico?
Un informatico si occupa principalmente di formulare problemi ed esprimere soluzioni in un modo che un esecutore - umano o macchina - possa realmente eseguire (J. Wing 2014). Si parla di pensiero computazionale per riferirsi ai processi mentali coinvolti in questa attività.
Definizione operazionale di ''pensiero computazionale''
La settimana che è stata
- Individualmente, tramite questa scheda, ripercorrete le attività fatte durante la settimana e individuate per ciascuna le abilità del pensiero computazionale associate/promosse
- Discutere a gruppi di 4 persone le proprie risposte
L'informatica e l'astrazione
Astrazione e generalizzazione