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.

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/2026
Academic year:
1° periodo di lezioni From 9/30/19 To 12/14/19
years Modules TAF Teacher
The fashion lab (1 ECTS) D Maria Caterina Baruffi (Coordinator)
I semestre From 10/1/19 To 1/31/20
years Modules TAF Teacher
Control theory D Riccardo Muradore (Coordinator)
Biomedical Data and Signal Processing D Silvia Francesca Storti (Coordinator)
Python programming language D Maurizio Boscaini (Coordinator)
II semestre From 3/2/20 To 6/12/20
years Modules TAF Teacher
CyberPhysical Laboratory D Andrea Calanca (Coordinator)
C++ Programming Language D Federico Busato (Coordinator)
LaTeX Language D Enrico Gregorio (Coordinator)
Matlab-Simulink programming D Bogdan Mihai Maris (Coordinator)
List of courses with unassigned period
years Modules TAF Teacher
Corso Europrogettazione D Not yet assigned
The course provides an introduction to blockchain technology. It focuses on the technology behind Bitcoin, Ethereum, Tendermint and Hotmoka. D Matteo Cristani

Teaching code

4S003714

Credits

12

Coordinator

Carlo Combi

Language

Italian

The teaching is organized as follows:

INGEGNERIA DEL SOFTWARE

Credits

6

Period

See the unit page

Academic staff

See the unit page

PROGRAMMAZIONE II

Credits

6

Period

See the unit page

Academic staff

See the unit page

Learning outcomes

Programming II
The course will provide the ability to understand, develop and debug software written in an object-oriented programming language. It will also provide the knowledge for building software projects of middle size.

At the end, students will have to show their ability to understand software written in an object-oriented programming language, as well as the structure of a complex software project; to apply their knowledge and abilities to the independent development of software in an object-oriented program- ming language, organised as a middle-size project; to understand, autonomously, the use of tools and techniques for the development of software in various application contexts.

Software Engineering
The aim of this course is to provide the basic scientific and professional skills relate to software engi- neering. In particular, the course will focus on the different phases of software development and pro- duction: 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 develop- ment 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 tech- niques, even considering different application domains.

Program

------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ------------------------ ------------------------ MM: Teoria ed esercitazioni ------------------------ * 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 -- Use Case diagrams -- 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: Laboratorio ------------------------ - Introduction to Swing library for the development of graphical user interfaces in Java. - Introduction to TkInter, wxPython, pyGTK/PyGobject, and PyQt/PySide libraries for the development of graphical user interfaces in Python. - Introduction to Eclipse-Papyrus and StarUML tools for the development of UML projects. Teaching methods - Lecturing and practicing in computer laboratory. Didactical material (slides) and further exercise texts are available on the eLearning platform. The teacher is available for individual meeting in office hours. ------------------------ MM: Laboratorio ------------------------ - Introduction to Swing library for the development of graphical user interfaces in Java. - Introduction to TkInter libraries for the development of graphical user interfaces in Python. - Introduction to Eclipse-Papyrus and StarUML tools for the development of UML projects. Teaching methods Lecturing and practicing in a computer laboratory. Didactical material (slides) and further exercise texts are available on the eLearning platform. The teacher is available for individual meeting in office hours.
------------------------
MM: PROGRAMMAZIONE II
------------------------
------------------------ MM: Teoria ------------------------ Java and bytecode. Structure of classes. Arrays. Inheritance. Methods and late binding. Standard library and its basic classes. Exceptions. Input/output. Interfaces. Collection classes. ------------------------ MM: Laboratorio ------------------------ Java and bytecode. Structure of classes. Arrays. Inheritance. Methods and late binding. Standard library and its basic classes. Exceptions. Input/output. Interfaces. Collection classes.

Bibliography

Reference texts
Author Title Publishing house Year ISBN Notes
Docente del corso Copia gratuita delle slides proiettate durante le lezioni.  
Ian Sommerville Ingegneria del software - 10/Ed. (Edizione 10) Pearson 2017 9788891902245
Martin Fowler UML Distilled (Edizione 4) Pearson - Addison Wesley 2010 9788871925981

Examination Methods

------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ------------------------ ------------------------ MM: Teoria ed esercitazioni ------------------------ The examination, for students both attending and not attending classes, consists of a project related to lab activities and of an oral examination. Such exam will allow one to show both his communication skills and his knowledge about Software Engineering. Student will also demonstrate their skills in applying their knowledge in "practical" software engineering tasks. ------------------------ MM: Laboratorio ------------------------ The examination consists of a project related to lab activities. The project has to be presented and discussed during the oral exam. ------------------------ MM: Laboratorio ------------------------ The examination consists of a project related to lab activities. The project has to be presented and discussed during the oral exam.
------------------------
MM: PROGRAMMAZIONE II
------------------------
------------------------ MM: Teoria ------------------------ Computerized exam on the full programme. ------------------------ MM: Laboratorio ------------------------ See the theory part of the course.

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE