Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea interateneo in Ingegneria dei sistemi medicali per la persona - Immatricolazione dal 2025/2026Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
| Insegnamenti | Crediti | TAF | SSD |
|---|
2° Anno Attivato nell'A.A. 2024/2025
| Insegnamenti | Crediti | TAF | SSD |
|---|
3° Anno Attivato nell'A.A. 2025/2026
| Insegnamenti | Crediti | TAF | SSD |
|---|
1 insegnamento a scelta| Insegnamenti | Crediti | TAF | SSD |
|---|
| Insegnamenti | Crediti | TAF | SSD |
|---|
| Insegnamenti | Crediti | TAF | SSD |
|---|
1 insegnamento a scelta| Insegnamenti | Crediti | TAF | SSD |
|---|
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Ingegneria del software (2025/2026)
Codice insegnamento
4S009888
Crediti
6
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Corsi Singoli
Autorizzato
L'insegnamento è organizzato come segue:
Teoria
Crediti
5
Periodo
II semestre
Docenti
Mariano Ceccato
Laboratorio
Crediti
1
Periodo
II semestre
Docenti
Pietro Sala
Obiettivi di apprendimento
Il corso si propone di fornire le competenze scientifiche e professionali di base dell'ingegneria del SW, affrontando le diverse fasi di sviluppo e produzione del codice: pianificazione ed elicitazione dei requisiti, progettazione, modellazione e specifica, implementazione, collaudo e verifica, valutazione, manutenzione. Fornire le competenze necessarie per lo sviluppo di sistemi software con linguaggi orientati agli oggetti, quali Java e Python. Al termine dell'insegnamento, lo studente dovrà: Dimostrare di conoscere e comprendere il processo di sviluppo di sistemi software e delle metodologie e tecniche di progettazione; Saper applicare le conoscenze acquisite al fine di realizzare e documentare sistemi software e di sviluppare applicazioni con con metodologie e liguaggi orientati agli oggetti, quali Java/Pyhon; Essere in grado di scegliere e valutare criticamente differenti soluzioni software in diversi contesti applicativi; Saper comunicare in modo proficuo con tutti gli attori coinvolti nella realizzazione e uso di un sistema software all'intero di organizzazioni complesse; Essere in grado di proseguire gli studi in modo autonomo nell’ambito delle tecniche di progettazione e di sviluppo SW e per approfondire lo studio di strumenti e tecniche informatiche per lo sviluppo del software in diversi contesti applicativi.
Prerequisiti e nozioni di base
Conoscenza di fondamenti di programmazione, in particolare in Java
Programma
Il parte teorica del corso include le seguenti tematiche:
- Introduzione all'ingegneria del software: definizione di ingegneria del software, tipi di software, caratteristiche dei software, aspetti etici
- Processi software: modelli dei processi software, attività dei processi, gestione dei cambiamenti
- Sviluppo agile del sotware: metodi agili, metodologia SCRUM e sue applicazioni
- Ingegneria dei requisiti: requisiti funzionali e non funzionali, processi di ingegneria dei requisiti, ingegneria dei requisiti e UML use case
- Progettazione orientata agli oggetti: modellazione di sistemi orientata agli oggetti con UML (class diagram, use case diagram, activity diagram, sequence diagram), fasi della progettazione
- Pattern architetturali: MVC, repository, client server, pipe and filter
- Design patterns: singleton, observer, template, iterator, factory, abstract factory, proxy, façade, decorator
- Verifica e Validazione: Ispezione e test, unit test, integration test, user acceptance test, sviluppo guidato dai test
- Evoluzione e mantenimento del software: gestione del cambiamento, sistemi legacy, manutenzione del software
Il laboratorio tratta strumenti e framework per
l'ingegneria del software moderna e la visualizzazione dei dati.
Durante le 12 ore, gli studenti acquisiranno esperienza pratica
in cinque aree chiave. Inizieranno apprendendo le basi di Plotly
per creare visualizzazioni di dati interattive. Successivamente,
esploreranno i DataFrame di Pandas per una manipolazione e
analisi efficiente dei dati. Il corso introdurrà poi Dash, un
framework Python per la costruzione di applicazioni web
analitiche. Gli studenti impareranno anche Pony ORM per
semplificare le operazioni di database in Python. Infine, il corso
si concluderà con i callback avanzati di Dash, insegnando agli
studenti come creare applicazioni web interattive più
complesse.
Modalità didattiche
Lezioni frontali, esercitazioni in laboratorio e discussione in aula.
Modalità di verifica dell'apprendimento
Progetto alla fine del corso e esame orale.
Criteri di valutazione
Chiarezza e completezza delle risposte alle domande. Qualità e completezza del progetto.
Criteri di composizione del voto finale
Valutazione esame orale e valutazione progetto.
Lingua dell'esame
Italiano or English