Unit SOFTWARE ENGINEERING AND AI-ENABLED SYSTEMS
- Course
- Electronic engineering
- Study-unit Code
- A005842
- Curriculum
- Ict electronics
- Teacher
- Fabrizio Montecchiani
- Teachers
-
- Fabrizio Montecchiani
- Hours
- 72 ore - Fabrizio Montecchiani
- CFU
- 9
- Course Regulation
- Coorte 2025
- Offered
- 2025/26
- Learning activities
- Affine/integrativa
- Area
- Attività formative affini o integrative
- Academic discipline
- ING-INF/05
- Type of study-unit
- Opzionale (Optional)
- Type of learning activities
- Attività formativa monodisciplinare
- Language of instruction
- Italian.
- Contents
- - The qualities of software as an industrial product and the principles of software engineering. - Engineering methodologies and techniques for traditional software analysis, design and development. - Methodologies and techniques for AI-enabled software systems.
- Reference texts
- The topics covered during the lectures are presented in the slides provided by the teacher. In addition, some textbooks will be suggested for further information on the various topics of the course.
- Educational objectives
- The aim of the course is to provide basic notions on methodologies, models and techniques for software analysis, design and development, including AI-based software components.
- Prerequisites
- Basic knowledge of object-oriented programming using the Java language and relational databases is recommended. Basic knowledge related to machine learning principles and techniques is also recommended.
- Teaching methods
- The course is divided into two main types of lessons.
Lectures: lessons held in the classroom. In each lesson new concepts are taught with the support of projected slides.
Laboratory guided exercises: lessons held in the software engineering lab. In each lesson the students design and implement new programs under the guidance of the teacher. - Other information
- None.
- Learning verification modality
- The assessment methods of this course aim to estimate the theoretical knowledge of the student and his/her ability to apply this knowledge to solve both theoretical and practical problems. The different types of tests are described below.
- Written test with theoretical questions/exercises
Duration: 60 minutes
Score: 10/30
Aims: Assess the knowledge of the different theoretical notions provided by the course.
- Practical test with the computer
Duration: 120 minutes
Score: 20/30
Aims: Assess the practical abilities of the student with respect to the topics covered in the course. - Extended program
- PART I - Introduction to software engineering - Quality and principles of software - Software production models - Requirements engineering - Architectural design - Object-oriented programming and design patterns - Software testing PART II - Introduction to AI-enabled software systems - Requirements engineering revisited - Design, deployment and automation of AI-based software components - Responsible Engineering
- Obiettivi Agenda 2030 per lo sviluppo sostenibile
- Industria, innovazione e infrastrutture; Ridurre le disuguaglianze