L'insegnamento prevede 1.5 CFU erogati con Didattica Innovativa come segue:
Blended Learning & Flipped Classroom
Corso di Studi
Codice Piano di Studio preventivamente approvato
Da (compreso)
A (escluso)
Insegnamento
Ing Ind - Inf (1 liv.)(ord. 270) - MI (358) INGEGNERIA INFORMATICA
I1A
E
P
085885 - INGEGNERIA DEL SOFTWARE
I3I
E
P
052510 - INGEGNERIA DEL SOFTWARE
II3
E
P
052510 - INGEGNERIA DEL SOFTWARE
085885 - INGEGNERIA DEL SOFTWARE
Ing Ind - Inf (Mag.)(ord. 270) - CR (263) MUSIC AND ACOUSTIC ENGINEERING
*
A
ZZZZ
052861 - INGEGNERIA DEL SOFTWARE
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA
*
A
ZZZZ
090014 - INGEGNERIA DEL SOFTWARE B
089847 - INGEGNERIA DEL SOFTWARE A
Obiettivi dell'insegnamento
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.
Risultati di apprendimento attesi
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.
Argomenti trattati
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:
Il linguaggio Java.
La specifica e l'implementazione di metodi e classi.
Unified Modeling Language: diagrammi di sequenza e delle classi (modalità flipped).
Schemi di progettazione (design pattern - modalità flipped).
Cenni di programmazione funzionale in Java.
Principi del test funzionale e strutturale.
Principi di programmazione di rete e distribuita.
Principi di programmazione delle interfacce utente.
Prerequisiti
Programmazione in linguaggio C, logica matematica, strutture dati e algoritmi, automi, complessità.
Modalità di valutazione
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.
La tabella che segue dettaglia come le diverse forme di valutazione contribuiscono ai risultati di apprendimento attesi.
Modalità di verifica
Descrizione
Risultato di apprendimento perseguito (descrittore di Dublino)
Esame scritto
Risoluzione di esercizi anche di tipo progettuale
Domande di carattere teorico a risposta aperta sugli argomenti del corso
1, 2, 3, 5
1, 2, 3, 5
Bibliografia
B.Liskov, J. Guttag, Program Development in Java, Editore: Pearson education, Anno edizione: 2000, ISBN: 0-201-65768-6
H. M. Deitel, P. M. Deitel,, Vol 1+2: Java Fondamenti di programmazione+ Java Tecniche avanzate di programmazione, Editore: Apogeo Note:
Può essere sostituito da altri testi avanzati di programmazione Java, anche online.
Docenti del corso, Dispense del Corso Note:
Le dispense sono scaricabili in pdf a partire dalle pagine web dei docenti. Sono indispensabili per integrare il testo della Liskov.
Software utilizzato
Nessun software richiesto
Forme didattiche
Tipo Forma Didattica
Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
42:00
63:00
Esercitazione
28:00
42:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale
70:00
105:00
Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua
Italiano
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese