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:
Laurea in Informatica - 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 |
---|
Computer Architecture
2° Year activated in the A.Y. 2021/2022
Modules | Credits | TAF | SSD |
---|
3° Year activated in the A.Y. 2022/2023
Modules | Credits | TAF | SSD |
---|
1 module among the following
Modules | Credits | TAF | SSD |
---|
Computer Architecture
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.
Programming II and Software Engineering - INGEGNERIA DEL SOFTWARE (2021/2022)
Teaching code
4S003714
Credits
6
Coordinator
Not yet assigned
Language
Italian
Also offered in courses:
- Data-intensive software systems - INGEGNERIA DEL SOFTWARE of the course Bachelor's degree in Bioinformatics
- Data-intensive software systems - INGEGNERIA DEL SOFTWARE of the course Bachelor's degree in Bioinformatics
- Data-intensive software systems - INGEGNERIA DEL SOFTWARE of the course Bachelor's degree in Bioinformatics
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
The teaching is organized as follows:
Teoria
Laboratorio
Learning outcomes
------------------------
MM: Theory
------------------------
The aim of this course is to provide the basic scientific and professional skills relate to software engineering. In particular, the course will focus on the different phases of software development and production: planning, design, modeling and specification, implementation, validation and test, evaluation and maintenance. The lab activities will provide skills required for the development of graphical user interfaces both in Java and Phyton. At the end of the course, the student will have to show: her knowledge about the software development process and the related methodologies and techniques; her ability to apply the acquired knowledge to develop and analyse software systems, even considering graphical user interfaces with Java/Phyton; her skills in communicating and interacting with different stakeholders when designing, implementing, and using a software system in complex organizations; the capability of extending her knowledge and skills for autonomously continuing her studies related to software development techniques, even considering different application domains.
------------------------
MM: Lab
------------------------
The aim of this module is to support the student during the planning, documentation, and implementation of a software application using the techniques introduces during the theory course, with an emphasis on the development of graphical user interfaces in Java.
Program
------------------------ MM: Theory and Exercises ------------------------
* Introduction to Software Engineering
- Definition of Software Engineering
- Professional software development
- Software engineering ethics
* Software Processes
- Software process models
- Process activities
- Coping with change
* Agile Software Development
- Agile methods
- Agile development techniques
- The SCRUM methodology
* Requirements Engineering
- Functional and non-functional requirements
- Requirements engineering processes
- Requirements Engineering and UML Use Cases
* Architectural Design
- Architectural design decisions
- Architectural views
- Architectural patterns
-- MVC -- Repository
-- Client-server
-- Pipe and filter
* OO Design and Implementation
- OO basic concepts
- The standard language UML 2 for software modeling
-- Class diagrams
-- Activity Diagrams
-- Sequence diagrams
- Design patterns
-- Introduction
-- Singleton
-- Observer
-- Template
-- Iterator
-- Factory
-- Abstract factory
-- Proxy
-- Facade
-- Decorator
* Verification and Validation
- Introduction
- Inspection and test
- Testing: unit test, integration test, user acceptance test
* Software evolution and maintenance
- Change Management
- Legacy Systems
- Software maintenance
------------------------ MM: Lab ------------------------
Lesson 1:
- Introduction to IDE tools and to Eclipse-Papyrus and StarUML tools for the development of UML projects.
Lesson 2:
- Introduction to JavaFX for the development of graphical user interfaces in Java.
Lesson 3:
- Advanced aspects of JavaFX.
Lesson 4:
- Exercises with JavaFX.
Lesson 5:
- (Bioinformatics Students) Database access from applications written in Java.
- (Computer Science Students) Access to files in Java: the JSON format.
Lesson 6:
- Exercises with JavaFX and access to data
Examination Methods
------------------------ MM: Theory and Exercises ------------------------
The examination, for a student, either attending and not attending classes, consists of a project related to lab activities and of an oral examination. Such an exam will allow one to show both his communication skills and his knowledge about Software Engineering. The student will also demonstrate their skills in applying their knowledge in "practical" software engineering tasks.
------------------------ MM: Lab ------------------------
The examination consists of a project related to lab activities. The project has to be presented and discussed during the oral exam.