CODICE 118157 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 1 COMPUTER SCIENCE 11964 (LM-18) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 2° Semestre PROPEDEUTICITA Propedeuticità in uscita Questo insegnamento è propedeutico per gli insegnamenti: COMPUTER SCIENCE 11964 (coorte 2025/2026) CAPSTONE PROJECT 101810 PRESENTAZIONE Questo corso esplora l'integrazione dei Large Language Models (LLM) nelle pratiche moderne di DevOps e DevSecOps, evidenziando il loro ruolo nell'automazione dello sviluppo software, del deployment e della gestione della sicurezza. Gli studenti acquisiranno conoscenze sia teoriche che pratiche su come gli strumenti basati sull'intelligenza artificiale ottimizzano la scrittura del codice, le pipeline CI/CD, l'automazione dell'infrastruttura e l'analisi della sicurezza. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Acquisire familiarità con i metodi e le tecnologie più avanzate dell’ingegneria del software e comprenderne il ruolo nello sviluppo, nel deployment e nella gestione della sicurezza del software OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Al termine del corso, gli studenti saranno in grado di: • Comprendere come i LLM possano ottimizzare i flussi di lavoro nello sviluppo software. • Implementare metodologie DevOps e DevSecOps con strumenti potenziati dall’intelligenza artificiale. • Sviluppare soluzioni di ingegneria del software sicure, scalabili e automatizzate. PREREQUISITI Si assume che siano state acquisite le seguenti conoscenze, che costituiscono le basi necessarie per comprendere gli argomenti del corso e sostenere l'esame: • Ingegneria del software • Fondamenti di programmazione orientata agli oggetti • Concetti di base dello sviluppo di applicazioni Web/Mobile e delle Reti MODALITA' DIDATTICHE L'insegnamento combina la presentazione dei concetti teorici con esercitazioni e discussioni. È orientato al dialogo e con un approccio pratico. Durante il corso saranno assegnati compiti obbligatori (i laboratori), che dovranno essere completati dagli studenti. PROGRAMMA/CONTENUTO Il corso è strutturato in tre moduli principali: LLM per l'ingegneria del software – Questo modulo introduce gli studenti ai modelli linguistici di ultima generazione, esaminando il loro impatto sulla generazione di codice, testing, documentazione, debugging e analisi statica. Vengono anche esplorate considerazioni etiche e i limiti dei LLM nell’ingegneria del software. DevOps – Automazione e Continuous Delivery – Gli studenti acquisiranno esperienza pratica con i principi e gli strumenti DevOps, imparando come i LLM possano migliorare l'automazione delle pipeline CI/CD, la generazione di Infrastructure as Code e l'analisi intelligente dei log. DevSecOps – Sicurezza nel ciclo di vita dello sviluppo software – Questo modulo approfondisce le best practice di sicurezza, il threat modeling e la gestione delle vulnerabilità, integrando soluzioni basate su LLM per il rilevamento automatico delle vulnerabilità, l’automazione delle policy di sicurezza e l’analisi avanzata dell’intelligence sulle minacce. TESTI/BIBLIOGRAFIA Per ogni argomento trattato a lezione saranno forniti riferimenti specifici. DOCENTI E COMMISSIONI MAURIZIO LEOTTA Ricevimento: Gli studenti possono contattare il docente via e-mail LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/11964/studenti-orario 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), oltre alla discussione degli assignment/laboratori. Il voto finale sarà assegnato combinando le valutazioni di (1) l'esame scritto e (2) gli assignment/laboratori completati durante il corso. MODALITA' DI ACCERTAMENTO L'acquisizione delle competenze previste dal corso sarà valutata attraverso l'esame scritto. I parametri di valutazione includono: la qualità dell’esposizione, il corretto uso del lessico specialistico, la capacità di ragionare criticamente sulle possibili soluzioni tecniche da adottare e l’abilità nell’applicarle a contesti reali. ALTRE INFORMAZIONI Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.