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
The 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 |
|---|
Mathematical analysis
Algebra and Foundations of Mathematics
2° Year It will be activated in the A.Y. 2026/2027
| Modules | Credits | TAF | SSD |
|---|
3° Year It will be activated in the A.Y. 2027/2028
| Modules | Credits | TAF | SSD |
|---|
One module to be chosen among the following| Modules | Credits | TAF | SSD |
|---|
Mathematical analysis
Algebra and Foundations of Mathematics
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
One module to be chosen 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 (2026/2027)
Teaching code
4S00032
Credits
6
Language
Italian
Also offered in courses:
- Software Engineering - Teoria of the course Bachelor's degree in Bioinformatics
- Software Engineering - Laboratorio of the course Bachelor's degree in Bioinformatics
- Software Engineering - Laboratorio of the course Bachelor's degree in Human Centered Medical System Engineering
- Software Engineering - Teoria of the course Bachelor's degree in Human Centered Medical System Engineering
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Courses Single
Authorized
The teaching is organized as follows:
Teoria
Laboratorio
Credits
1
Period
II semestre
Academic staff
Not yet assigned
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.
Prerequisites and basic notions
Knowledge of programming fundamentals, in particular in Java
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.
Didactic methods
Frontal lectures, practical laboratory and discussions.
Learning assessment procedures
Project at the end of the course and interview exam.
Evaluation criteria
Clarity and completeness of the answers to the questions. Quality and completeness of the project.
Criteria for the composition of the final grade
Oral exam evaluation and project evaluation.
Exam language
Italiano