Salta al contenuto principale
CODICE 121620
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE INFO-01/A
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 2° Semestre

PRESENTAZIONE

Questo corso esplora il ruolo dei Large Language Model, degli assistenti AI e dei sistemi di AI agentica nella moderna Ingegneria del Software. Il corso si concentra su come gli strumenti basati sull’AI possano potenziare le attività di sviluppo software lungo l’intero ciclo di vita dell’ingegneria del software, incluse l’analisi dei requisiti, la codifica, il testing, il debugging, la documentazione, la sperimentazione e la valutazione.

Gli studenti acquisiranno conoscenze sia teoriche sia pratiche su come utilizzare LLM locali e remoti, tecniche di prompt engineering, Retrieval-Augmented Generation, workflow di sviluppo basati sull’AI e agenti di ingegneria del software. Il corso introduce inoltre applicazioni degli LLM e degli agenti a DevOps e DevSecOps, con attenzione a opportunità, limitazioni, rischi e sfide di sicurezza dello sviluppo software potenziato dall’AI.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

L’insegnamento intende fornire una panoramica sull’utilizzo dell’intelligenza artificiale, in particolare dei modelli linguistici di grandi dimensioni (LLM) e dei sistemi agentici, nel contesto dell’ingegneria del software. Durante il corso, gli studenti apprendono e mettono in pratica tecniche per l’interazione con tali modelli e per la valutazione dei risultati, sviluppando prototipi a supporto delle attività di analisi dei requisiti, progettazione, implementazione, testing e debugging del software.
Particolare attenzione è dedicata alla costruzione di workflow e strumenti basati su LLM, anche attraverso l’integrazione di modelli locali e servizi esterni, e alla sperimentazione pratica delle loro capacità nel contesto dell’ingegneria del software.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso, gli studenti saranno in grado di:

  • Comprendere il ruolo degli LLM, degli assistenti AI e degli agenti nei moderni workflow di ingegneria del software.
  • Utilizzare LLM locali e remoti tramite API e ambienti di esecuzione self-hosted.
  • Applicare tecniche di prompt engineering e Retrieval-Augmented Generation a compiti di ingegneria del software.
  • Progettare workflow di assistenti AI per l’analisi dei requisiti, la codifica, il testing e il debugging.
  • Implementare e valutare semplici agenti AI per attività di ingegneria del software.
  • Confrontare diversi LLM e strumenti basati sull’AI tramite valutazione empirica e benchmark.
  • Comprendere le principali opportunità, limitazioni, rischi e implicazioni di sicurezza dello sviluppo software, DevOps e DevSecOps potenziati dall’AI.

PREREQUISITI

Si presuppone che le seguenti conoscenze siano già state acquisite e costituiscano la base necessaria per comprendere gli argomenti del corso e degli esami.

  • Ingegneria del Software.
  • Fondamenti di programmazione orientata agli oggetti.
  • Competenze di programmazione di base, preferibilmente in Python e/o C/C++.
  • Concetti di base dello sviluppo di applicazioni Web/Mobile e del Networking.
  • È raccomandata una familiarità di base con strumenti da riga di comando e sistemi di controllo di versione.

MODALITA' DIDATTICHE

L’insegnamento combina la presentazione di concetti teorici, dimostrazioni pratiche, esercizi, assignment e discussioni. È orientato al dialogo e ha un approccio pratico.

Durante il corso devono essere completati assignment obbligatori, incluse attività di laboratorio e piccoli progetti sperimentali. Tali assignment prevedono l’uso, l’implementazione e la valutazione di strumenti e workflow basati sull’AI per attività di ingegneria del software.

PROGRAMMA/CONTENUTO

Il corso è strutturato in diverse parti:

Fondamenti di Ingegneria del Software potenziata dall’AI – Introduzione al ruolo degli LLM nella moderna ingegneria del software, inclusi i concetti di base relativi ad addestramento, inferenza, deployment e uso di modelli locali e remoti.

Prompt Engineering e Retrieval-Augmented Generation – Tecniche per interagire con gli LLM, incluse il prompt engineering, la sperimentazione basata su API e la costruzione di semplici pipeline RAG.

Assistenti AI, agenti e ambienti di sviluppo agentici per l’Ingegneria del Software – Uso di assistenti AI e sistemi agentici a supporto di analisi dei requisiti, codifica, testing, debugging, documentazione e manutenzione. Il modulo copre inoltre workflow di assistenti AI, agenti basati su LangGraph, benchmark di ingegneria del software, agenti predefiniti, ambienti di sviluppo agentici e meccanismi di integrazione per applicazioni basate su LLM, come il Model Context Protocol.

DevOps potenziato dall’AI e sfide di sicurezza – Applicazione di LLM e agenti a DevOps e DevSecOps, con attenzione ad automazione, rischi, valutazione, sicurezza del codice generato dall’AI e sfide di sicurezza delle applicazioni basate su LLM e agentiche.

TESTI/BIBLIOGRAFIA

Ogni argomento delle lezioni sarà accompagnato da riferimenti specifici, inclusi articoli scientifici, documentazione tecnica, descrizioni di benchmark, documentazione di strumenti e materiale selezionato su Ingegneria del Software potenziata dall’AI, Large Language Model, Retrieval-Augmented Generation, agenti per l'ingegneria del software, DevOps potenziato dall’AI e sfide di sicurezza nelle applicazioni basate su LLM.

DOCENTI E COMMISSIONI

LEZIONI

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

L’esame consisterà in una parte scritta, con domande tradizionali aperte/chiuse ed esercizi, più la discussione degli assignment/laboratori/progetto. Il voto finale sarà assegnato combinando le valutazioni di: (1) l’esame scritto e (2) gli assignment/laboratori/progetto completati durante il corso.

Le linee guida per gli studenti con Disturbi Specifici dell’Apprendimento certificati, disabilità o altri bisogni educativi speciali sono disponibili all’indirizzo https://corsi.unige.it/en/corsi/11964/studenti-disabilita-dsa

MODALITA' DI ACCERTAMENTO

L’acquisizione delle competenze previste da questo corso sarà valutata tramite l’esame scritto. I parametri di valutazione includono: la qualità dell’esposizione, l’uso corretto del lessico specialistico, la capacità di ragionare criticamente sulle possibili soluzioni tecniche da adottare e la capacità di impiegarle in contesti reali.

ALTRE INFORMAZIONI

Per ulteriori informazioni, si rimanda al modulo AulaWeb del corso o si invita a contattare il docente.