Presentazione

Organizzazione della Didattica

DM270
INFORMATICA ORD. 2011

Ingegneria del software

13

Corsi comuni

 

Frontali Esercizi Laboratorio Studio Individuale
ORE: 64 8 32 0

Periodo

AnnoPeriodo
III annoannuale

Frequenza

Facoltativa

Erogazione

Convenzionale

Lingua

Italiano

Calendario Attività Didattiche

InizioFine
01/10/201814/06/2019

Tipologia

TipologiaAmbitoSSDCFU
caratterizzanteDiscipline informaticheINF/0113


Responsabile Insegnamento

ResponsabileSSDStruttura
Prof. VARDANEGA TULLIOINF/01Dipartimento di Matematica

Altri Docenti

DocenteCoperturaSSDStruttura
Dott. CARDIN RICCARDOContrattoN.D.

Attività di Supporto alla Didattica

Non previste

Bollettino

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.

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.

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.

Per una carrellata aggiornata degli argomenti di insegnamento, si veda la pagina , che include diapositive di presentazione e materiale di approfondimento.

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.

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.

IEEE Computer Society. Software Engineering Coordinating Committee, Guide to the Software Engineering Body of Knowledge. : , 2014 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. : Pearson Education, 1995 Ian Sommerville, Software Engineering (10th edition). : Pearson Education, 2015

Tutto il materiale didattico presentato durante le lezioni frontali è reso disponibile su una apposita pagina-calendario dell'insegnamento, insieme a materiale di approfondimento.