Riteniamo che sia fondamentale partire dalle lezioni frontali in cui i problemi vengono formalizzati e risolti “alla lavagna“, adottando un approccio progettuale e scientifico che prescinda dall’uso del computer e quindi sia proprio delle discipline scientifiche.
Le lezioni frontali si svolgeranno nell’Aula Gerace del Dipartimento di Informatica e avranno come obiettivo quello di presentare esempi che potranno essere subito trasferiti in una classe di scuola secondaria superiore. L’approfondimento e il perfezionamento di questi esempi avverrà nei moduli laboratoriali, ove i partecipanti potranno progettare con l’aiuto dei docenti e di tutor moduli didattici da sviluppare in classe. I partecipanti in possesso di conoscenze pregresse di coding potranno scegliere di svolgere moduli laboratoriali più tecnici, usando Python per realizzare le soluzioni algoritmiche viste nelle lezioni frontali. La scelta tra queste due modalità laboratoriali sarà lasciata ai singoli docenti.
Per quanto riguarda le attività di laboratorio, al fine di estendere la loro fruibilità anche a docenti di altre province e regioni si suggerisce di contattare il COP CoderDojo della propria città che potrà, possibilmente, progettare e organizzare attività in-loco equivalenti alle attività che si svolgeranno a Pisa.
I temi trattati nelle sette lezioni frontali saranno i seguenti (le date saranno perfezionate nei prossimi giorni):
Lezione #1 (11 novembre 2019, ore 16-18): Algoritmi e coding [docente: Fabrizio Luccio, Università di Pisa]
Lezione #2 (20 novembre 2019, ore 16-18): Motori di ricerca [docente: Paolo Ferragina, Università di Pisa]
-
La storia dei motori di ricerca, da Altavista ai motori “semantici”. La struttura di un motore di ricerca, attraverso alcuni suoi moduli software fondamentali, e gli algoritmi elementari che ne descrivono il funzionamento. Considerazioni su ricerche per parole e ricerche per concetti.
- Materiale didattico: slide della lezione
Lezione #3 (25 novembre 2019, ore 16-18): Bioinformatica [docente: Nadia Pisanti, Università di Pisa]
- Il primo vero punto di contatto fra biologia e informatica che è balzato alle cronache in tutto il mondo: il Progetto Genoma Umano. Attraverso il racconto di questo grande evento scientifico, descriviamo la rivoluzione introdotta dalle nuove tecnologie di sequenziamento e dall’assemblaggio di genomi, delineando alcune delle sfide più importanti oggi in questo ambito, e mostrando a titolo di esempio un algoritmo per il confronto di sequenze.
- Materiale didattico: slide della lezione
Lezione #4 (27 novembre 2019, ore 14-16, Aula Gerace, Dipartimento di Informatica): Crittografia [docente: Anna Bernasconi, Università di Pisa]
Lezione #5 (27 novembre 2019, ore 16-18): Intelligenza artificiale [docente: Davide Bacciu, Università di Pisa]
- Intelligenza artificiale e apprendimento automatico forniscono un approccio alla soluzione di problemi computazionali alternativo a quello algoritmico-dichiarativo. Introdurremo i fondamenti dell’apprendimento automatico, per poi focalizzarci sui modelli computazionali ispirati alle reti neurali (deep learning), discutendone le basi matematico-statistiche e le applicazioni più recenti.
- Materiale didattico: slide della lezione
Lezione #6 (2 dicembre 2019, ore 14-16): Problemi facili e difficili [docente: Linda Pagli, Università di Pisa]
Lezione #7 (2 dicembre 2019, ore 16-18): Data Science per la società [docente: Dino Pedreschi, Università di Pisa]
- Introduzione alla scienza dei dati, con breve excursus sulle sorgenti di BigData e le nuove opportunità che essi offrono per la comprensione e la previsione di fenomeni sociali ed economici. Concetti di base e semplici algoritmi per il clustering, la classificazione, la scoperta di pattern ricorrenti, l’analisi delle reti (sociali e non solo).
- Materiale didattico: slide della lezione
LABORATORI
Il giorno 13 novembre inizierà le attività laboratoriali del corso. Tutti i laboratori si svolgeranno presso il Dipartimento di Informatica dell’Università di Pisa, nelle aule Riunioni EST e OVEST. I partecipanti saranno divisi in due squadre nei laboratori 1 e 3, e sceglieranno di partecipare a uno tra i laboratori 2A e 2B. Si chiede ai partecipanti di portare con sé il proprio computer per l’esecuzione dei programmi sviluppati durante le attività laboratoriali.
Segue il calendario dei laboratori, con una specifica delle attività da svolgere a casa prima di ogni incontro:
Laboratorio #1 (13 novembre 2019, ore 14-18): Algoritmi (coding)
- Seguire le istruzioni indicate alle pagine seguenti per installare la versione di Python 3 sul proprio computer portatile: Windows, Mac Os X, Linux. Esiste anche la possibilità di eseguire i programmi Python visti in classe tramite semplice browser, accedendo a vari siti come per esempio: OnLine Python Compiler. Nel caso di difficoltà nell’istallazione suddetta, i partecipanti saranno aiutati durante il laboratorio.
- Materiale didattico che include slide con problemi e soluzioni in Python.
Laboratorio #2A (4 dicembre 2019, ore 14-17): Bioinformatica
- La lezione sarà composta da due moduli di esercizi “su carta” e da un modulo di esercizi al PC. Per il modulo al PC è suggerito l’utilizzo di un sistema operativo linux. Di seguito vengono riportate le istruzioni per installare (i) una virtualbox con Ubuntu linux e (ii) i tre software che verranno utilizzati durante l’esercitazione. Nessun problema nel caso non si riesca a completare le installazioni (per le quali è necessaria un pò di familiarità con il terminale linux): gli esercizi verranno anche risolti interattivamente a proiettore.
- (i) Se usate un sistema diverso da linux, installare una OracleVM virtualbox con sistema Ubuntu linux: su Windows, su MacOS
- (ii) Lanciare Ubuntu dalla virtualbox e installare samtools, bcftools e tablet. Tablet potrebbe richiedere la pre-installazione di Java.
- Materiale didattico che include le slide presentate in classe (slide).
Laboratorio #2B (4 dicembre 2019, ore 14-17): Intelligenza artificiale
- Materiale didattico (slide).
Laboratorio #3 (9 dicembre 2019, ore 14-18): Algoritmi avanzati e crittografia
- Materiale didattico (slide).