= Digito Ergo Sum - Pensare e lavorare come un informatico - Edizione di Novembre 2018 [[PageOutline]] ''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.'' [http://www.cosp.unimi.it/documenti/Scuole/progetto_Alternanza%20Informatica%20-%20Digito-2018.pdf Descrizione del progetto] '''Orari:''' * Lunedì 22 - venerdì 26 ottobre 2018: 9.00 -13.00 '''Tutor:''' * Prof.ssa Violetta Lonati (responsabile) * Prof. Carlo Bellettini * Prof.ssa Anna Morpurgo * Andrea Formica {{{#!comment == Lunedì === Informatica, una sfida concettuale [http://lonati.di.unimi.it/asl-racconto.pdf Un racconto] === Algoritmi? 1. '''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. 1. '''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. 1. '''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). [https://mameli.docenti.di.unimi.it/asl/attachment/wiki/WikiStart/algoDefinizioneKnuth.pdf 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 [http://aladdin.unimi.it/sw/scacchiera/Cadet/Cadet.html Software]. Le indicazioni e le domande di questa [http://lonati.di.unimi.it/SchedaScacchieraDaCompilare.pdf scheda] potranno guidarvi nel lavoro. Quando riterrete di aver compreso bene le codifiche, inserite la vostra risposta alle domande. [https://homes.di.unimi.it/bellettini/asldown.php?FILENAME=1.2-rapprinfo.pdf Informazione, dati, codifica] == Martedì === Qualche quesito Bebras Risolvete a coppie i seguenti quesiti delle gare ''Bebras dell'Informatica'' e segnatevi su un foglio le vostre risposte 1. [https://bebras.it/explorer/embed/470 Beaverball] 2. [https://bebras.it/explorer/embed/259 Ape robotica] 3. [https://bebras.it/explorer/embed/484 Una tartaruga sistematica] 4. [https://bebras.it/explorer/embed/688 Robot] === Automatizzare un compito [http://morpurgo.di.unimi.it/ASL/slidesIntroProgrammazione.pdf Introduzione alla programmazione] === Labirinti Lavorando a coppie, scaricate i file (tasto destro, salva destinazione con nome) * [http://morpurgo.di.unimi.it/ASL/labirinti/maze0.xml maze0] * [http://morpurgo.di.unimi.it/ASL/labirinti/maze1.xml maze1] * [http://morpurgo.di.unimi.it/ASL/labirinti/maze3.xml maze3] * [http://morpurgo.di.unimi.it/ASL/labirinti/maze5.xml maze5] * [http://morpurgo.di.unimi.it/ASL/labirinti/maze5a.xml maze5a] Accedete poi al sito di [https://snap.berkeley.edu/snapsource/snap.html Snap], un ambiente di programmazione visuale. In questa [http://morpurgo.di.unimi.it/ASL/slidesSnapBlockly.pdf 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: 1. dal menu Activities, in alto a sinistra, aprite Libre Office Writer 2. andate sulla pagina di Snap e premete il tasto "Stamp" per fare uno screenshot della schermata 3. 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 4. passare al labirinto successivo Al termine del lavoro, salvate il file con i cognomi della vostra coppia e caricatelo sul sito di [https://upload.di.unimi.it upload] nella sessione chiamata "ALTERNANZA SCUOLA LAVORO - DIGITO ERGO SUM (Edizione Novembre 2018)". === Clickomania Trovate [http://lonati.di.unimi.it/TFA1415/clicko.pdf qui] la scheda con le istruzioni per utilizzare il [http://clickomania.herokuapp.com/apps/kangourou/ Software]. Realizzate un programma nell'ambiente di programmazione visuale per risolvere il problema. Al termine fate uno screenshot della soluzione e inseritelo nel file creato precedentemente. === Un programma fitto di eventi Leggete con cura la [http://morpurgo.di.unimi.it/ASL/SchedaProgrammaEventi.pdf scheda] che vi è stata consegnata ed esaminate l'interfaccia del [http://aladdin.unimi.it/sw/scheduling/scheduling.html 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. [http://morpurgo.di.unimi.it/ASL/SchedaProgrammaEventiSoluzioni.pdf Soluzioni di "Un programma fitto di eventi" (controesempi e dimostrazione)] == Mercoledì === Introduzione a Javascript e a Raphael [https://dmitrybaranovskiy.github.io/raphael/reference.html Manuale di 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 [https://jsbin.com/fexukun/1/edit JSBIN] Esercizio 0bis [https://jsbin.com/gamadew/1/edit JSBIN E0bis] [https://jsbin.com/gamadew/2/edit possibile soluzione] ==== 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 [https://jsbin.com/zihacaz/1/edit JSBIN E1] [https://jsbin.com/zihacaz/edit Possibile soluzione] == Giovedì === Javascript e Raphael ==== Animazione di un elemento Associare un elemento sullo schermo ad una funzione al click del mouse Esercizio 2 [https://jsbin.com/bokuhif/1/edit JSBIN E2] [https://jsbin.com/bokuhif/edit possibile 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 [https://jsbin.com/gupaquf/1/edit JSBIN E3] [https://jsbin.com/lapoxiq/1/edit possibile soluzione] * Clonare e posizionare tutti i pedoni bianchi e neri. Ogni pedone deve muoversi in avanti al click del mouse su di esso. Esercizio 3bis [https://jsbin.com/zohipufega/1/edit JSBIN E3] [https://jsbin.com/cupokej/1/edit possibile soluzione] [https://jsbin.com/zohipufega/1/edit possibile soluzione] ==== Animare la scacchiera Esercizio 4 [https://jsbin.com/ligite/1/edit JSBIN E4] [https://jsbin.com/ligite/ possibile soluzione ] [http://scacchi.qnet.it/manuale/partite.htm Partita Famosa da riprodurre] === Messaggi segreti Vi verrà consegnato un documento (intitolato [http://morpurgo.di.unimi.it/ASL/ASL_MissioneSegreta_scheda.pdf 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'[https://aladdin-pipes.herokuapp.com/apps/pipe applicazione Blockly] e per ogni richiesta della scheda scrivete il programma che avete creato e l'output del programma stesso. [http://morpurgo.di.unimi.it/ASL/ASL_MissioneSegreta_soluzioni.pdf Soluzioni di "Missione Segreta"] == Venerdì === Quesiti Bebras su vari aspetti del pensiero computazionale 1. [https://bebras.it/explorer/embed/430 Agenzia di viaggio] 2. [https://bebras.it/explorer/embed/390 Noci e animali] 3. [https://bebras.it/explorer/embed/248 Gli oblò] oppure [https://bebras.it/explorer/embed/657 Pozioni magiche] 4. [https://bebras.it/explorer/question/145 Tronchi da riordinare] 5. [https://bebras.it/explorer/embed/492 Caccia al ladro] oppure [https://bebras.it/explorer/embed/689 Rompere il codice] 6. [https://bebras.it/explorer/embed/398 Labirinti intricati] oppure [https://bebras.it/explorer/embed/667 Un mondo di blocchi] 7. [https://bebras.it/explorer/embed/393 Meteo] oppure [https://bebras.it/explorer/embed/672 Tutti a casa] 8. [https://bebras.it/explorer/embed/400 Popolarità] === Pensiero computazionale [http://morpurgo.di.unimi.it/ASL/slidesBebras-e-pensiero-computazionale.pdf 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à. [http://morpurgo.di.unimi.it/ASL/CompThinkingFlyerHighltd.pdf Definizione operazionale di ''pensiero computazionale''] === La settimana che è stata - Individualmente, tramite [https://mameli.docenti.di.unimi.it/asl/attachment/wiki/WikiStart/Scheda_di_riflessione_metacognitiva.pdf 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 === Orientamento [http://lonati.di.unimi.it/Slide-presentazioni-scuole.pdf Presentazione dei corsi di laurea] === L'informatica e l'astrazione [https://mameli.docenti.di.unimi.it/asl/attachment/wiki/WikiStart/astrazione_e_generalizzazione.pdf Astrazione e generalizzazione] === Valutazione [https://docs.google.com/forms/d/e/1FAIpQLSe8mGToBKZW5TmOg91jsylvt6E_gPFFuaylaYMREE5JwKCxVQ/viewform Questionario di valutazione finale] }}}