Salta al contenuto principale
CODICE 101810
ANNO ACCADEMICO 2025/2026
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Questo insegnamento mira a far applicare studenti/studentesse le tecnologie e i concetti acquisiti in altri corsi, attraverso lo sviluppo di un progetto software realistico, seguendo un modello di processo di sviluppo specifico. Per questa ragione se ne consiglia la partecipazione solo a chi che ha già completato almeno gli esami degli insegnamenti obbligatori del primo anno. La partecipazione attiva al progetto favorirà lo sviluppo del pensiero critico, l'autonomia nell'apprendimento continuo, la capacità di problem solving e l'acquisizione di competenze trasversali essenziali, quali il lavoro di gruppo, la comunicazione efficace e la gestione del tempo.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Acquiring experience of a realistic team development effort that follows a given methodology and harnesses different technologies for the implementation of a specific product.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Alla fine dell'insegnamento, gli studenti/le studentesse, avendo lavorato diligentemente, saranno in grado di:

  • Conoscenza e Comprensione:
    • Comprendere le sinergie tra le competenze e conoscenze nello sviluppo di sistemi software acquisite nei precedenti corsi di laurea e negli altri insegnamenti della laurea magistrale in Computer Science.
    • Comprendere i vari passi di uno sviluppo completo di un progetto software, seguendo un processo specifico.
    • Comprendere l'importanza dell'esperienza dell'utente e delle metodologie per testare la qualità di un sistema dal punto di vista degli utenti finali.
  • Capacità di Applicare Conoscenza e Comprensione:
    • Applicare un metodo di sviluppo agile (es. Scrum) e utilizzare diverse pratiche agili per adattare il processo al progetto specifico.
    • Partecipare come membri efficaci di un team di sviluppo software, mettendo in pratica esperienze concrete.
    • Progettare e sviluppare un prodotto software specifico utilizzando le tecnologie pertinenti.
  • Autonomia di Giudizio:
    • Valutare criticamente i problemi e proporre soluzioni in contesti di innovazione e processi creativi in evoluzione.
    • Dimostrare autonomia decisionale e attitudine collaborativa nella gestione di risorse umane e materiali e nel coordinamento delle attività.
    • Gestire l'incertezza e la complessità, negoziare e risolvere i conflitti all'interno del team.
  • Capacità di Apprendimento:
    • Organizzare e valutare il proprio apprendimento continuo, identificando le proprie necessità e modalità di sviluppo delle competenze.
    • Utilizzare fonti e ausili di varia natura per l'apprendimento autonomo, elaborare e valutare criticamente le informazioni.
    • Individuare e perseguire obiettivi di apprendimento personali, ricercando supporto se necessario.

PREREQUISITI

Per una proficua partecipazione al corso, è necessario possedere conoscenze di base relative a:

  • Programmazione orientata agli oggetti.
  • Database relazionali e loro progettazione.
  • Sviluppo web e sviluppo mobile.
  • Tecnologie IoT
  • Problemi di sicurezza di base.
  • Progettazione di interfacce utente.
  • Ingegneria del software (terminologia e principali attività di sviluppo).
  • Testing.
  • Sistemi distribuiti.

Oltre alle conoscenze teoriche, sono richieste anche comprovate competenze pratiche. 

MODALITA' DIDATTICHE

L'insegnamento sarà erogato prevalentemente attraverso la modalità laboratoriale, centrata sullo sviluppo del progetto.

Lezioni frontali introdurranno i concetti chiave della metodologia Scrum e dell'User Experience.

La maggior parte dell'impegno degli studenti/studentesse sarà dedicata al lavoro di progetto, che rappresenta il contesto principale per la comprensione approfondita e l'applicazione pratica della metodologia di sviluppo. L'attività progettuale sarà costantemente seguita e supervisionata dai docenti.

Gli studenti/Le studentesse sono incoraggiati all'apprendimento autonomo delle tecnologie necessarie per il progetto, basandosi sulla familiarità con ambienti di programmazione orientata agli oggetti, gestione di database e sviluppo web. Saranno inoltre fornite indicazioni e supporto per la condivisione delle conoscenze all'interno del team.

PROGRAMMA/CONTENUTO

L'insegnamento tratterà i seguenti contenuti:

  • Metodologie Agili: Introduzione ai principi e alle pratiche di Scrum (uno dei metodi di sviluppo agili più diffusi), e integrazione con altre pratiche agili per l'adattamento del processo al progetto specifico.
  • User Experience (UX): Principi, pratiche e modelli di progettazione e valutazione UX.
  • Tecnologie Specifiche del Progetto: A seconda dell'argomento del progetto, gli studenti saranno guidati nell'apprendimento autonomo di tecnologie pertinenti e nella successiva condivisione delle conoscenze acquisite all'interno del team di sviluppo.

TESTI/BIBLIOGRAFIA

La bibliografia consigliata, composta prevalentemente da risorse liberamente accessibili in rete, sarà indicata e discussa durante le lezioni e resa disponibile sulla pagina AulaWeb dell'insegnamento.

DOCENTI E COMMISSIONI

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

La valutazione finale terrà conto in modo sostanziale delle attività svolte durante il semestre, includendo i risultati di alcuni quiz, la partecipazione allo sviluppo del progetto, il lavoro di gruppo e i contributi tecnici individuali.

Una breve prova orale concluderà il processo di valutazione al termine dell'insegnamento.

MODALITA' DI ACCERTAMENTO

L'accertamento dei risultati di apprendimento avverrà attraverso le seguenti modalità:

  • Osservazione in itinere:
    • La valutazione delle conoscenze avverrà mediante quiz dedicati ai singoli argomenti del programma, organizzati prima che gli studenti debbano metterle in atto per le attività laboratoriali, in modo da aiutare gli studenti ad acquisire consapevolezza di eventuali carenze
    • La valutazione delle competenze trasversali (es. problem solving, autonomia, collaborazione) e della comprensione del processo di sviluppo avverrà tramite l'osservazione dell'insegnante durante il lavoro di progetto.
  • Valutazione del progetto finale: La qualità complessiva del prodotto software e l'aderenza al processo di sviluppo adottato indicheranno le capacità tecniche e metodologiche del team.
  • Prova orale finale: L'esame orale integrerà la valutazione in itinere, consentendo di approfondire sia le competenze acquisite non pienamente emerse durante lo sviluppo del progetto che la misura dei contributi individuali allo sforzo del team.

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.

OpenBadge

 PRO3 - Soft skills - Sociale avanzato 1 - A
PRO3 - Soft skills - Sociale avanzato 1 - A
 PRO3 - Soft skills - Personale avanzato 1 - A
PRO3 - Soft skills - Personale avanzato 1 - A
 PRO3 - Soft skills - Alfabetica avanzato 1 - A
PRO3 - Soft skills - Alfabetica avanzato 1 - A
 PRO3 - Soft skills - Creazione progettuale avanzato 1 - A
PRO3 - Soft skills - Creazione progettuale avanzato 1 - A
 PRO3 - Soft skills - Gestione progettuale base 1 - A
PRO3 - Soft skills - Gestione progettuale base 1 - A
 PRO3 - Soft skills - Imparare a imparare avanzato 1 - A
PRO3 - Soft skills - Imparare a imparare avanzato 1 - A