AGILE DEVELOPMENT OF SMART SYSTEMS

AGILE DEVELOPMENT OF SMART SYSTEMS

_
iten
Codice
98684
ANNO ACCADEMICO
2018/2019
CFU
6 cfu al 2° anno di 10852 COMPUTER SCIENCE (LM-18) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
INF/01
SEDE
GENOVA (COMPUTER SCIENCE )
periodo
1° Semestre
materiale didattico

PRESENTAZIONE

Questo corso introduce i principi base delle metodologie di sviluppo agili mediante un approccio pratico: gli studenti dovranno formare un team di sviluppo e completare un progetto seguendo la metodologia Scrum.

Per poter proficuamente seguire, è imprescindibile avere buone capacità di programmazione.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

I principali obiettivi formativi di questo corso sono:

  • integrare le pregresse conoscenze e capacità di programmazione object-oriented, sviluppo web a ingegneria del software, che si assume gli studenti abbiano acquisito in corsi precedenti
  • imparare a lavorare  in gruppo, o migliorare le proprie capacità di far parte di una squadra, nell'ambito dello sviluppo software
  • fare pratica di sviluppo di un progetto realistico usando un metodo agile
  • interiorizzare l'importanza della user experience per il successo di un progetto e imparare come si può valutarne la qualità

PREREQUISITI

Per seguire proficuamente questo corso, gli studenti dovranno avere competenze e conoscenze base sui seguenti aspetti::

  • programmazione object-oriented
  • ingegneria del software (terminologia e principali task del processo di sviluppo)
  • sviluppo web e progettazione di interfacce uomo-macchina

Tutti questi temi devono essere stato sviluppato in pratica prima di poter seguire il corso, mediante lo sviluppo di progetti (almeno di piccole dimensioni).

Modalità didattiche

La maggior parte dello sforzo richiesto agli studenti sarà dedicato allo sviluppo del progetto, perché la partecipazione attiva all'applicazione di una metodologia allo sviluppo di un progetto è l'unico modo di capire a fondo che cosa vuol dire seguire un metodo.

I partecipanti (docenti e studenti) sceglieranno di comune accordo l'ambito del progetto. Gli unici meta-requisiti sono individuare un problema la cui soluzione naturale sia un sistema smart.

I docenti presenteranno brevemente i punti chiave delle tecnologie da adottare e daranno alcuni puntatori iniziali a risorse utili per approfondimenti.

Gli studenti dovranno perfezionare la loro conoscenza delle tecnologie in autonomia, avendo già familiarità di base con (simili) tecnologie per lo sviluppo object-oriented, la gestione di basi di dati e lo sviluppo web.

Presentazioni fatte dagli studenti sulle tecnologie permetteranno la condivisione di conoscenza fra i membri del team e saranno parte integrante del processo di sviluppo.

PROGRAMMA/CONTENUTO

Uno specifico metodo agile e la sua applicazione ad un'applicazione minimale. In questo anno accademico adotteremo Scrum, che è uno dei metodi agili di sviluppo software più popolari e richiesti sul mercato.

Argomenti principali:

  • Scrum, i suoi principi e pratiche, e altre pratiche agili utili per definire il processo agile da adottare per il progetto
  • User experience: principe, pratiche e pattern
  • Progetto, PROGETTO, PROGETTO!!!

DOCENTI E COMMISSIONI

Ricevimento: Su appuntamento o via mail.

Ricevimento: La docente riceve su appuntamento presso la sede dipartimento DIBRIS, studio numero 231, 2 piano, Valle Puggia, in Via Dodecaneso 35, Genova. E-mail: marina.ribaudo@unige.it Telefono: 010 353 6631  

Commissione d'esame

MARINA RIBAUDO (Presidente)

MAURA CERIOLI (Presidente)

FILIPPO RICCA

GIOVANNI LAGORIO

LEZIONI

Modalità didattiche

La maggior parte dello sforzo richiesto agli studenti sarà dedicato allo sviluppo del progetto, perché la partecipazione attiva all'applicazione di una metodologia allo sviluppo di un progetto è l'unico modo di capire a fondo che cosa vuol dire seguire un metodo.

I partecipanti (docenti e studenti) sceglieranno di comune accordo l'ambito del progetto. Gli unici meta-requisiti sono individuare un problema la cui soluzione naturale sia un sistema smart.

I docenti presenteranno brevemente i punti chiave delle tecnologie da adottare e daranno alcuni puntatori iniziali a risorse utili per approfondimenti.

Gli studenti dovranno perfezionare la loro conoscenza delle tecnologie in autonomia, avendo già familiarità di base con (simili) tecnologie per lo sviluppo object-oriented, la gestione di basi di dati e lo sviluppo web.

Presentazioni fatte dagli studenti sulle tecnologie permetteranno la condivisione di conoscenza fra i membri del team e saranno parte integrante del processo di sviluppo.

ESAMI

Modalità d'esame

Gran parte della valutazione avrà luogo mediante l'osservazione delle attività durante il semestre: participazione al processo di sviluppo, capacità di lavoro in gruppo e contributi tecnici, sia allo sviluppo del codice, sia mediante presentazione di approfondimenti tecnici.

Alla fine del corso si terrà un breve esame orale per concludere la valutazione.

Modalità di accertamento

Osservare gli studenti durante lo sviluppo permetterà di valutare sia le loro competenze tecniche (hard skills) sia la loro capacità di lavoro in gruppo (soft skills).

L'esame finale valuterà le conoscenze deglii studenti riguardo il processo adottato e le tecnologie impiegate per lo sviluppo, mediante alcune domande specifiche su punti precisi.

Calendario appelli

Data Ora Luogo Tipologia Note
26/07/2019 09:00 GENOVA Esame su appuntamento
20/09/2019 09:00 GENOVA Esame su appuntamento
14/02/2020 09:00 GENOVA Esame su appuntamento