Insegnamento SOFTWARE ENGINEERING AND AI-ENABLED SYSTEMS

Nome del corso di laurea Ingegneria informatica e robotica
Codice insegnamento A005842
Curriculum Data science e data engineering
Docente responsabile Fabrizio Montecchiani
Docenti
  • Fabrizio Montecchiani
Ore
  • 72 Ore - Fabrizio Montecchiani
CFU 9
Regolamento Coorte 2026
Erogato Erogato nel 2026/27
Erogato altro regolamento
Attività Caratterizzante
Ambito Ingegneria informatica
Settore IINF-05/A
Anno 1
Periodo Secondo Semestre
Tipo insegnamento Obbligatorio (Required)
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento Italiano.
Contenuti - Le qualità del software come prodotto industriale e i principi dell'ingegneria del software.
- Metodologie e tecniche ingegneristiche tradizionali per l'analisi, la progettazione e lo sviluppo del software.
- Metodologie e tecniche per sistemi software basati su intelligenza artificiale.
Testi di riferimento Gli argomenti trattati a lezione sono illustrati in dispense a cura del docente. In aggiunta, verranno consigliati alcuni testi di riferimento per approfondimenti sui vari argomenti del corso.
Obiettivi formativi L'insegnamento di prefigge di impartire agli studenti le nozioni teoriche e pratiche su metodologie, modelli e tecniche per l'analisi, la progettazione e lo sviluppo di software complessi, inclusi software che contengono componenti di intelligenza artificiale.
Prerequisiti Sono consigliate conoscenze di base relativamente alla programmazione ad oggetti tramite il linguaggio Java e alle basi di dati relazionali. Sono inoltre consigliate conoscenze di base legare ai principi e alle tecniche di machine learning.
Metodi didattici Il corso si articola in due principali tipologie di lezioni.

Lezioni frontali: lezioni frontali svolte in aula. Ogni lezione consiste nell'illustrazione da parte del docente di nuovi concetti teorici, attraverso la proiezione di appositi lucidi.

Esercitazioni guidate in laboratorio: si svolgono nel laboratorio di ingegneria del software, e prevedono la progettazione e l'implementazione di programmi sotto la guida del docente.
Altre informazioni Nessuna.
Modalità di verifica dell'apprendimento I metodi di valutazione di questo insegnamento cercano di quantificare le conoscenze teoriche acquisite dallo studente, nonché la sue capacità di applicare tali conoscenze per la risoluzione di problemi applicativi. I tipi di prove previste per la valutazione sono descritti qui di seguito.

- Prova scritta di natura teorica

Durata: 90 minuti
Punteggio: 15/30

Obiettivo: accertare le conoscenze sui concetti teorici impartiti nell'insegnamento.


- Prova al calcolatore

Durata: 90 minuti
Punteggio: 15/30

Obiettivo: accertare le abilità pratiche acquisite in relazione alle tematiche del corso
Programma esteso PARTE I
- Introduzione all'ingegneria del software
- Qualità e principi del software
- Modelli di produzione del software
- Ingegneria dei requisiti
- Progettazione architetturale
- Programmazione a oggetti e design patterns
- Test del software

PARTE II
- Introduzione a sistemi software basati su AI
- Ingegneria dei requisiti per sistemi basati su AI
- Progettazione, deployment e automazione di componenti software basati su AI
- Responsible Engineering
Obiettivi Agenda 2030 per lo sviluppo sostenibile Industria, innovazione e infrastrutture; Ridurre le disuguaglianze