Information updated until 30/06/2026 CODE 121620 ACADEMIC YEAR 2026/2027 CREDITS 6 cfu anno 1 COMPUTER SCIENCE 11964 (LM-18) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INFO-01/A LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 2° Semester OVERVIEW This course explores the role of Large Language Models, AI assistants, and agentic AI systems in modern Software Engineering. The course focuses on how AI-based tools can augment software development activities across the software engineering lifecycle, including requirements analysis, coding, testing, debugging, documentation, experimentation, and evaluation. Students will gain both theoretical and practical knowledge on how to use local and remote LLMs, prompt engineering techniques, Retrieval-Augmented Generation, AI-based development workflows, and software engineering agents. The course also introduces applications of LLMs and agents to DevOps and DevSecOps, with attention to opportunities, limitations, risks, and security challenges of AI-augmented software development. AIMS AND CONTENT LEARNING OUTCOMES The teaching unit aims to provide an overview of the use of artificial intelligence, in particular large language models (LLMs) and agentic systems, in the context of software engineering. During the course, students learn and put into practice techniques for interacting with such models and for evaluating the results, developing prototypes to support activities of requirements analysis, design, implementation, testing, and debugging of software. Particular attention is devoted to the construction of workflows and tools based on LLMs, also through the integration of local models and external services, and to the practical experimentation of their capabilities in the context of software engineering. AIMS AND LEARNING OUTCOMES By the end of the course, students will: Understand the role of LLMs, AI assistants, and agents in modern software engineering workflows. Use local and remote LLMs through APIs and self-hosted execution environments. Apply prompt engineering and Retrieval-Augmented Generation techniques to software engineering tasks. Design workflows of AI assistants for requirements analysis, coding, testing, and debugging. Implement and evaluate simple AI agents for software engineering activities. Compare different LLMs and AI-based tools through empirical evaluation and benchmarks. Understand the main opportunities, limitations, risks, and security implications of AI-augmented software development, DevOps, and DevSecOps. PREREQUISITES The following knowledge is assumed to be acquired and constitutes the necessary foundation for understanding the topics of the course and the exams. Software Engineering. Object-oriented programming fundamentals. Basic programming skills, preferably in Python and/or C/C++. Basic concepts of Web/Mobile application development and Networking. Basic familiarity with command-line tools and version control systems is recommended. TEACHING METHODS The teaching is a combination of presentation of theoretical concepts, practical demonstrations, exercises, assignments, and discussions. It is dialogue-oriented and has a practical approach. Mandatory assignments, including laboratory activities and small experimental projects, must be completed during the course. These assignments involve the use, implementation, and evaluation of AI-based tools and workflows for software engineering tasks. SYLLABUS/CONTENT The course is structured into different parts: Foundations of AI-Augmented Software Engineering – Introduction to the role of LLMs in modern software engineering, including basic concepts of LLM training, inference, deployment, and use of local and remote models. Prompt Engineering and Retrieval-Augmented Generation – Techniques for interacting with LLMs, including prompt engineering, API-based experimentation, and the construction of simple RAG pipelines. AI Assistants, Agents and Agentic Development Environments for Software Engineering – Use of AI assistants and agentic systems to support requirements analysis, coding, testing, debugging, documentation, and maintenance. The module also covers AI-assistant workflows, LangGraph-based agents, software engineering benchmarks, pre-built agents, agentic development environments, and integration mechanisms for LLM-based applications such as the Model Context Protocol. AI-Augmented DevOps and Security Challenges – Application of LLMs and agents to DevOps and DevSecOps, with attention to automation, risks, evaluation, AI-generated code security, and security challenges of LLM-based and agentic applications. RECOMMENDED READING/BIBLIOGRAPHY Each lesson topic will be accompanied by specific references, including scientific papers, technical documentation, benchmark descriptions, tool documentation, and selected material on AI-Augmented Software Engineering, Large Language Models, Retrieval-Augmented Generation, software engineering agents, AI-Augmented DevOps, and security challenges in LLM-based applications. TEACHERS AND EXAM BOARD MAURIZIO LEOTTA Ricevimento: Students may contact the professor by e-mail LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam will consist in a written part (traditional open/closed questions, and exercises) plus the discussion of the assignments/laboratories/project. The final grade will be assigned by combining the evaluations of (1) the written exam, and (2) the assignments/laboratories/project completed during the course. Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/11964/studenti-disabilita-dsa ASSESSMENT METHODS The acquisition of the skills foreseen by this course will be assessed via the written exam. Evaluation parameters include: the quality of exposure, the correct use of the specialist vocabulary, the ability to critically reason on the possible technical solutions to adopt and the capability to employ them in real contexts. FURTHER INFORMATION For further information, please refer to the course’s AulaWeb module or contact the professor.