Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Study Plan
This information is intended exclusively for students already enrolled in this course.If you are a new student interested in enrolling, you can find information about the course of study on the course page:
Bachelor's degree in Human Centered Medical System Engineering - Enrollment from 2025/2026The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.
1° Year
| Modules | Credits | TAF | SSD |
|---|
2° Year activated in the A.Y. 2024/2025
| Modules | Credits | TAF | SSD |
|---|
3° Year activated in the A.Y. 2025/2026
| Modules | Credits | TAF | SSD |
|---|
1 module among the following| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
1 module among the following| Modules | Credits | TAF | SSD |
|---|
Legend | Type of training activity (TTA)
TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.
Software Engineering (2025/2026)
Teaching code
4S009888
Credits
6
Language
Italian
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
Courses Single
Authorized
The teaching is organized as follows:
Teoria
Credits
5
Period
2nd semester
Academic staff
Mariano Ceccato
Laboratorio
Credits
1
Period
2nd semester
Academic staff
Pietro Sala
Learning objectives
The course aims to provide the basic scientific and professional skills of SW engineering, addressing the different phases of code development and production: planning and elicitation of requirements, design, modeling and specification, implementation, testing and verification, evaluation, and maintenance. Provide the skills needed to develop software systems with object-oriented languages, such as Java and Python. At the end of the course, the student will have to: Demonstrate knowledge and understanding of the development process of software systems and design methodologies and techniques; Know how to apply the knowledge acquired in order to create and document software systems and develop applications with object-oriented methodologies and languages, such as Java/Pyhon; Be able to choose and critically evaluate different software solutions in different application contexts; Knowing how to communicate profitably with all the actors involved in the creation and use of a software system within complex organizations; Be able to continue the studies independently in the field of SW design and development techniques and to deepen the study of IT tools and techniques for software development in different application contexts.
Program
The course theory includes the following topics:
- Introduction to software engineering: definition of software engineering, types of software, characteristics of software, ethical aspects
- Software process: model of software process, process activities, change management
- Agile software development: agile methods, SCRUM methodology and applications
- Requirements engineering: functional and non-functional requirements, requirements engineering processes, requirements engineering and UML use cases
- Object oriented design: object oriented modelling with UML (class diagram, use case diagram, activity diagram, sequence diagram), design phases
- Architectural patterns: MVC, repository, client server, pipe and filter
- Design patterns: singleton, observer, template, iterator, factory, abstract factory, proxy, façade, decorator
- Verification and Validation: inspection and test, unit test, integration test, user acceptance test, test driven development
- Software evolution and maintenance: change management, legacy systems, software maintenance
This lab covers tools and frameworks for modern
software engineering and data visualization. Over 12 hours,
students will gain hands-on experience with five key areas.
They'll start by learning Plotly basics for creating interactive
data visualizations. Next, they'll explore Pandas DataFrames for
efficient data manipulation and analysis. The course then
introduces Dash, a Python framework for building analytical
web applications. Students will also learn about Pony ORM for
simplifying database operations in Python. Finally, the course
concludes with advanced Dash callbacks, teaching students
how to create more complex, interactive web applications.
Learning assessment procedures
Project at the end of the course and interview exam.