Rendere lo studente in grado di realizzare progetti software complessi, utilizzando le tecniche e gli strumenti moderni dell’ingegneria del software. Tecniche di didattica innovativa (“flipped classroom”) verranno utilizzate per stimolare la partecipazione degli studenti al corso e lo sviluppo di capacità di studio autonomo.
| Descrittori di Dublino | Risultati di apprendimento attesi |
|---|---|
| Conoscenza e comprensione | A seguito del superamento dell’esame lo studente conosce: - le tecniche di progettazione e programmazione secondo il paradigma orientato agli oggetti, attraverso l’uso dei linguaggi UML e Java; - i principi alla base della specifica formale dei requisiti di una applicazione software; - i principi alla base della verifica di correttezza (test) di una applicazione software; - i principi della programmazione funzionale in Java - le tecnologie offerte da Java per lo sviluppo di applicazioni client-server |
| Capacità di applicare conoscenza e comprensione | Attraverso le esercitazioni su casi di studio, ed a seguito del superamento dell’esame, lo studente acquisisce la capacità di applicare le tecniche e le tecnologie apprese a casi reali, per quanto di complessità limitata. |
| Autonomia di giudizio | A seguito del superamento dell’esame lo studente: - è in grado di risolvere problemi di programmazione e progettazione orientate agli oggetti su temi anche non direttamente illustrati durante le lezioni/esercitazioni - è in grado di gestire problemi di analisi, progetto, sviluppo e test di applicazioni software, anche se non strettamente inerenti alle problematiche affrontate nel corso assumendo decisioni motivate |
| Capacità di apprendimento | Anche attraverso l’uso di tecniche di “flipped classroom” lo studente acquisisce la capacità di apprendere in maniera autonoma argomenti legati alle tematiche generali affrontate durante il corso. |
Introduzione all'Ingegneria del software.
Il ciclo di vita del software.
Introduzione al modello orientato agli oggetti e alla sua specifica.
La progettazione orientata agli oggetti:
Programmazione in linguaggio C, logica matematica, strutture dati e algoritmi, automi, complessità.
L'esame consiste in una prova scritta, con esercizi e domande aperte che copriranno tutti gli argomenti trattati nel corso. Durante la prova è possibile consultare liberamente libri e appunti. In caso di consegna di un compito fortemente insufficiente, lo studente non potrà partecipare all'appello successivo. Non sono previste prove in itinere.