B0063 - LABORATORIO DI PROGRAMMAZIONE

Anno Accademico 2023/2024

  • Docente: Francesco Poggi
  • Crediti formativi: 4
  • SSD: INF/01
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea Magistrale in Governance e politiche dell'innovazione digitale (cod. 5889)

Conoscenze e abilità da conseguire

Al termine del corso lo studente comprende la programmazione di un computer; conosce le tipologie di linguaggi di programmazione e comprenderne il perché sono indispensabili per l'interazione con il computer; conosce gli strumenti essenziali che si utilizzano per le attività di programmazione: editor, compilatore; comprende quali sono gli effetti delle operazioni effettuate in termini di sintassi e semantica del linguaggio Python. Sa risolvere esercizi sugli argomenti trattati durante il corso; sa leggere programmi, di bassa o media complessità, scritti in linguaggio Python e comprendere per quali scopi sono progettati, basandosi sull'interpretazione del codice e dei commenti ad esso associati. sa progettare piccole applicazioni scritte in linguaggio Python partendo dalle specifiche di un problema o da porzioni di codice esistente.

Contenuti

Il corso si occupa dei seguenti argomenti:

  • Algoritmi e linguaggi di programmazione
  • Modelli e formati di dati: dati primitivi, formati dati per il Web (JSON, CSV, …), data wrangling
  • Fondamenti di programmazione in Python: tipi di dato, funzioni, costrutti di confronto, condizionali e iterativi, gestione delle eccezioni, testing e debugging
  • Esplorare i dati con Pandas: serie e dataframe, manipolazione dei dati (indici, selezione, aggregazione, ordinamento, ecc.) 
  • Data visualization con Seaborn: grafici relazionali, categorici e per distribuzioni
  • Machine Learning con Python: tipi di problema (classificazione, regressione, clustering), tipi di apprendimento (es. supervised vs unsupervised), valutazione delle prestazioni (validazione), classificatori e reti neurali

Testi/Bibliografia

Guttag, Introduzione alla programmazione con Python, Egea, 2021.

Bellini & Guidi, Python e machine learning, McGraw-Hill, 2022.

Metodi didattici

Il materiale didattico viene illustrato utilizzando slide, rese disponibili sul sito del corso insieme ad esempi di codice.

Il corso prevede inoltre ore di laboratorio dove gli studenti possono sperimentare gli strumenti e le tecnologie presentati durante il corso, ed in cui vengono svolti esercizi e approfonditi gli argomenti discussi nelle lezioni frontali.

Modalità di verifica e valutazione dell'apprendimento

La valutazione è basata su una prova scritta individuale e sulla presentazione di un progetto di gruppo.

Lo scritto è composto da alcuni esercizi sulle tecnologie descritte nel corso e alcune domande teoriche.

La presentazione del progetto tende a verificare la correttezza e completezza dell’analisi sviluppata, nonché le conoscenze acquisite dallo studente sulle principali tecnologie presentate nelle lezioni.

Strumenti a supporto della didattica

Il sito del corso che contiene slide, esercitazioni pratiche, dettagli sul progetto, informazioni utili ed avvisi del corso.

Orario di ricevimento

Consulta il sito web di Francesco Poggi

SDGs

Istruzione di qualità Lavoro dignitoso e crescita economica

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.