Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Scienze
INFORMATICA
Insegnamento
INGEGNERIA DEL SOFTWARE
SCP4065580, A.A. 2018/19

Informazioni valide per gli studenti immatricolati nell'A.A. 2016/17

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INFORMATICA
SC1167, ordinamento 2011/12, A.A. 2018/19
N0
porta questa
pagina con te
Crediti formativi 13.0
Tipo di valutazione Voto
Denominazione inglese SOFTWARE ENGINEERING
Sito della struttura didattica http://informatica.scienze.unipd.it/2018/laurea
Dipartimento di riferimento Dipartimento di Matematica
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile TULLIO VARDANEGA INF/01
Altri docenti RICCARDO CARDIN

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Discipline Informatiche INF/01 13.0

Organizzazione dell'insegnamento
Periodo di erogazione Annuale
Anno di corso III Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
ESERCITAZIONE 1.0 8 17.0
LABORATORIO 4.0 32 68.0
LEZIONE 8.0 64 136.0

Calendario
Inizio attività didattiche 01/10/2018
Fine attività didattiche 28/06/2019
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Commissioni d'esame
Commissione Dal Al Membri
3 a.a 2018/2019 01/10/2018 28/02/2020 VARDANEGA TULLIO (Presidente)
CARDIN RICCARDO (Membro Effettivo)
CONTI MAURO (Supplente)
FILE' GILBERTO (Supplente)
SPERDUTI ALESSANDRO (Supplente)
2 a.a. 2017/2018 01/10/2016 28/02/2019 VARDANEGA TULLIO (Presidente)
CARDIN RICCARDO (Membro Effettivo)
CONTI MAURO (Membro Effettivo)
FILE' GILBERTO (Membro Effettivo)
SPERDUTI ALESSANDRO (Membro Effettivo)

Syllabus
Prerequisiti: L'insegnamento assume e richiede familiarità con i linguaggi e tecniche di programmazione presentati nel triennio (C, C++; programmazione imperativa e a oggetti), e con le funzionalità fondamentali delle base di dati e delle più comuni tecnologie basate su SQL.
L'importanza di tali conoscenze preliminari determina vincolo di propedeuticità per l'accesso alle attività didattiche di Ingegneria del Software, nel superamento degli insegnamenti Programmazione a oggetti e Basi di dati.
Conoscenze e abilita' da acquisire: L'insegnamento opera su due semestri consecutivi: nel primo eroga le conoscenze alle base della professione di "software engineer"; successivamente, nella prima metà del secondo mette gli studenti nella condizione di acquisire formazione pratica ed esperienziale, tramite lo svolgimento di un impegnativo progetto di gruppo attraverso tutte le fasi principali del suo ciclo di vita, dalla risposta a una gara di appalto fino alla revisione di accettazione e collaudo.
Nello specifico, lo studente apprenderà:
1) metodi e tecniche per l'organizzazione e la gestione di attività collaborative (pianificazione, ripartizione dei compiti, calendarizzazione, monitoraggio del progresso, verifica degli esiti);
2) professionalità nell'interazione con "clienti" esterni (cattura, analisi e discussione di requisiti, dimostrazione di prototipi e di prodotti finiti);
3) metodi e tecniche per l'auto-apprendimento e per la condivisione di conoscenza;
4) metodi e tecniche di presentazione e comunicazione.
Modalita' di esame: L'esame di questo insegnamento consta di due parti complementari:
- una prova scritta invidividuale (calendarizzate a partire da metà aprile), il cui esito positivo conta per il 40% sul voto finale;
- una serie di revisione di avanzamento di progetto didattico, di gruppo, a partire dalla candidatura all'ingresso (a partire da metà gennaio), fino al collaudo del prodotto sviluppato (a partire da metà maggio), la cui media di esito conta per il rimanente 60% del voto finale individuale.
Criteri di valutazione: Lo scritto individuale consiste di 3 domande pratiche di tipo “problem solving” e 3 domande sui concetti fondanti della disciplina del software engineering.
Nel complesso, le sei domande mirano a valutare il livello complessivo di apprendimento raggiunto dallo studente delle nozioni impartite durante il corso, sia in aula che nel progetto.
Per mettere alla prova le capacità di collaborazione sviluppate nel progetto didattico, due delle sei domande (una per ciascuno tipo) richiederanno risposta concordate da gruppi di due o tre studenti formati a caso, dal docente.

La valutazione delle revisioni di progresso, nel loro complesso, misura invece il gradiente di miglioramento qualità dei prodotti realizzati nel corso del progetto, sia documentali che software, e delle corrispondenti presentazioni e dimostrazioni pubbliche.
Contenuti: Per una carrellata aggiornata degli argomenti di insegnamento, si veda la pagina <http://www.math.unipd.it/~tullio/IS-1/2017/>, che include diapositive di presentazione e materiale di approfondimento.
Attivita' di apprendimento previste e metodologie di insegnamento: 1) insegnamento d'aula;
2) lezioni "rovesciate", svolte in modalità "flipped classroom", su argomenti selezionati, centrati prevalentemente su strumenti di sviluppo collaborativo;
3) esercitazione guidate su temi di teoria;
4) attività pratiche con feedback di progresso.
Eventuali indicazioni sui materiali di studio: Tutto il materiale didattico presentato durante le lezioni frontali è reso disponibile su una apposita pagina-calendario dell'insegnamento, insieme a materiale di approfondimento.
Testi di riferimento:
  • IEEE Computer Society. Software Engineering Coordinating Committee, Guide to the Software Engineering Body of Knowledge. --: --, 2014. https://www.computer.org/web/swebok
  • Ian Sommerville, Software Engineering (10th edition). --: Pearson Education, 2015. http://www.pearsoned.co.uk/bookshop/detail.asp?item=100000000608065 Cerca nel catalogo
  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. --: Pearson Education, 1995. http://www.pearsoned.co.uk/bookshop/detail.asp?item=171742 Cerca nel catalogo

Didattica innovativa: Strategie di insegnamento e apprendimento previste
  • Problem based learning
  • Interactive lecturing
  • Working in group
  • Problem solving
  • Flipped classroom

Didattica innovativa: Software o applicazioni utilizzati
  • Latex
  • Strumenti di ausilio al lavoro collaborativo (issue tracking, versionamento, configurazione)