Informazioni in aggiornamento fino al 30/06/2026 CODICE 121620 ANNO ACCADEMICO 2026/2027 CFU 6 cfu anno 1 COMPUTER SCIENCE 11964 (LM-18) - GENOVA 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 MAURIZIO LEOTTA Ricevimento: Gli studenti possono contattare il docente via e-mail 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.