Digito Ergo Sum - pensare informaticamente - Edizione Aprile 2024
Le attività di Digito Ergo Sum, Percorso per le Competenze Trasversali e l'Orientamento, si svolgono nel laboratorio ALaDDIn e nelle aule del Dipartimento di Informatica dell'Università degli studi di Milano, in Via Celoria 18.
Orari
- Lunedì 8 aprile 2024:
- mattina, dalle 9:00 alle 13:00
- pomeriggio, dalle 14:00 alle 16:00
- Martedì 9 aprile 2024:
- mattina, dalle 9.00 alle 13.00
- Mercoledì 10 aprile 2024:
- mattina, dalle 9.00 alle 12.00
- pomeriggio, dalle 13:00 alle 15:00
Tutor
- Prof.ssa Violetta Lonati (responsabile)
- Prof.ssa Anna Morpurgo
- Marta Crippa
- Rita Folisi
- Federico Bruzzone
- Leonardo Albani
- Samuele Riva
- Filippo Uslenghi
- Luca Corradini
- Luca Favini
- Matteo Zagheno
- Mattia Delledonne
Attività
Lunedì mattina
Introduzione
Algoritmo?
- 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 sei/otto - Discutete le risposte fornite dalle coppie; per ognuna delle procedure, concordate un risposta comune.
- ancora a gruppi di sei/otto - Date una definizione di algoritmo ed elencate le proprietà fondamentali che deve avere per definirsi tale e scrivetele su cartellone (scrivete sul cartellone anche i nomi dei componenti del gruppo).
Definizione di informatica secondo ACM encyclopedia
Lunedì pomeriggio
Qualche quesito Bebras
Risolvete in gruppi di tre i quesiti delle gare Bebras dell'Informatica:
- Per chi sa già programmare (almeno un po'):
- per cominciare
- più difficili (comprende i precedenti)
Missione segreta
Martedì
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)
Presentazione dei corsi di laurea
Presentazione dei corsi di laurea a cura della Commissione Orientamento
Mercoledì mattina
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.
Mercoledì pomeriggio
Programmare in Python
Missione segreta
Vi verrà consegnato una scheda intitolata "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.
Se volete provare a scrivere i comandi direttamente nel terminale usando la Shell, trovate i file con i testi dei capitoli in questo archivio
Sfida di programmazione
Vi proponiamo una sfida tratta da Advent of Code (anno 2023, giorno 2), di cui abbiamo preparato una traduzione in italiano.
Per testare il programma usate questo input. L'output deve essere "54911".
Extra
L'informatica e l'astrazione
Astrazione e generalizzazione
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à.
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''