Insegnamento SOFTWARE ENGINEERING

Nome del corso Ingegneria informatica e robotica
Codice insegnamento A003441
Curriculum Robotics
Docente responsabile Fabrizio Montecchiani
Docenti
  • Fabrizio Montecchiani
Ore
  • 72 ore - Fabrizio Montecchiani
CFU 6
Regolamento Coorte 2024
Erogato Erogato nel 2025/26
Erogato altro regolamento
Attività Caratterizzante
Ambito Ingegneria informatica
Settore ING-INF/05
Tipo insegnamento Opzionale (Optional)
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: 60 minuti
Punteggio: 10/30

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


- Prova al calcolatore

Durata: 120 minuti
Punteggio: 20/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