logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 052510 - INGEGNERIA DEL SOFTWARE
Docente San Pietro Pierluigi
Cfu 7.00 Tipo insegnamento Monodisciplinare
Didattica innovativa 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 INFORMATICAI1AEP085885 - INGEGNERIA DEL SOFTWARE
I3IEP052510 - INGEGNERIA DEL SOFTWARE
II3EP052510 - INGEGNERIA DEL SOFTWARE
085885 - INGEGNERIA DEL SOFTWARE
Ing Ind - Inf (Mag.)(ord. 270) - CR (263) MUSIC AND ACOUSTIC ENGINEERING*AZZZZ052861 - INGEGNERIA DEL SOFTWARE
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AZZZZ090014 - 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
Risorsa bibliografica obbligatoriaB.Liskov, J. Guttag, Program Development in Java, Editore: Pearson education, Anno edizione: 2000, ISBN: 0-201-65768-6
Risorsa bibliografica facoltativaH. 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.

Risorsa bibliografica obbligatoriaDocenti 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
schedaincarico v. 1.8.3 / 1.8.3
Area Servizi ICT
03/12/2023