L’insegnamento fornisce un’introduzione di alcuni strumenti (ovvero tool/framework) e servizi utili allo sviluppo e gestione del software, con l'obiettivo di formare figure professionali che contribuiscano alla realizzazione di progetti software avendo anche consapevolezza delle esigenze gestionali.
L'insegnamento ha l'obiettivo primario di aumentare la consapevolezza degli studenti sugli strumenti e servizi legati allo sviluppo e gestione del software, con particolare riferimento agli aspetti di: sviluppo e debugging del codice realizzato tramite ambienti di sviluppo integrato (IDE), building automatico, gestione delle dipendenze nei progetti, configuration management e versioning, testing, continuos integration e delivery/deployment.
Questo insegnamento riprende alcuni strumenti per lo sviluppo e gestione del software già introdotti durante il corso di laurea (ad esempio IDE e sistemi di versioning, quali Git) e li integra con altri strumenti e servizi che possono essere utilizzati per effettuare il building automatico, gestire le dipendenze, effettuare l’integrazione continua del codice (Continuos Integration) e il deployment.
L’insegnamento è pratico ed ha come obiettivo formativo quello di introdurre gli studenti allo sviluppo moderno del software così come viene svolto in un ambito lavorativo reale.
Al termine dell’insegnamento, lo studente sarà in grado di:
Lezioni pratiche di laboratorio svolte in piccoli Team (2/3 studenti). Ogni strumento trattato verrà corredato da immediata sperimentazione pratica, al fine di acquisire rapidamente confidenza e manualità. I laboratori saranno guidati e le attività integrative saranno rese disponibili su AulaWeb.
AulaWeb verrà usata per tre scopi: come repository del materiale del corso; come canale per le comunicazioni burocratiche, le spiegazioni e le discussioni inerenti il corso; e infine per facilitare il lavoro di gruppo.
L'insegnamento, che è di natura pratica, introduce alcuni (e a diverso livello di dettaglio di approfondimento) tra i seguenti strumenti/ambienti e servizi per lo sviluppo e gestione del software:
Al termine del corso lo studente possiederà conoscenze specialistiche avanzate nell'ambito dello sviluppo e gestione dei moderni sistemi software. In particolare sarà in grado di:
Documentazione online dei vari strumenti e servizi selezionati.
Ricevimento: Su appuntamento (mandare una mail)
FILIPPO RICCA (Presidente)
MAURA CERIOLI
MAURIZIO LEOTTA (Presidente Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica
L'obiettivo della procedura di verifica consiste nel quantificare, per ogni studente, il livello di raggiungimento degli obiettivi formativi precedentemente indicati. La procedura di verifica consiste nella valutazione di alcuni laboratori guidati e in una prova scritta.
L'esame è composto dalle seguenti seguenti attività
Attività di laboratorio
L'insegnamento prevede delle attività di laboratorio da svolgersi in gruppo. Per alcune di queste attività verrà richiesta la consegna del lavoro svolto. Per altre verrà semplicemente monitorata la partecipazione degli studenti. Attività alternative da consegnare tramite AulaWeb verranno proposte a chi (es. studenti lavoratori) è impossibilitato a frequentare le attività in laboratorio.
Scritto
La prova scritta sarà costituita da domande a risposta multipla. Le domande saranno sia di tipo teorico che pratico e verteranno sugli argomenti/strumenti trattati a lezione. Durante le lezioni verranno discussi alcuni esempi di possibili domande ed esercizi per ogni argomento, in modo che a fine corso sia chiara la tipologia di prova.
L'attività di laboratorio mira ad accertare: (1) la conoscenza degli strumenti proposti e (2) le abilità collaborative nel risolvere problemi nell'ambito delle tematiche affrontate nel corso.
Lo scritto ha il duplice obbiettivo di verificare la conoscenza degli aspetti di base della disciplina e appurare la partecipazione degli studenti ai laboratori guidati. In entrambe le prove verranno considerate le conoscenze specifiche della materia e la capacità di ragionamento critico.