Software plays a pivotal role in almost all aspects of our life, including transportation, communication, economy, and healthcare.
We put trust in software to accomplish complex and vital tasks for us, such as managing our finances, sharing our family and friends’ memories, diagnosing diseases, flying airplanes, or driving cars. The complexity of these tasks, while becoming transparent to us, does not go away: It is distilled into the software our civilization depends on. Indeed, we are already in the era of ultra-large-scale software systems, composed of millions of code components interacting among them. In such a scenario, the software cannot be understood without its data and data becomes valuable only thanks to the software analyzing it. In other words, software engineering aims at managing the complexity of software, keeping it under control. Data engineering focuses instead on how to collect, store, and process huge amounts of data, that can be analyzed to gather insights and support decision-making activities. The master features courses taught by the world’s leading researchers of the Software Institute at the USI Faculty of Informatics.
With the successful completion of the program, students will be awarded a Master of Science in Software and Data Engineering.
Structure and contents
The Software Engineering module embraces 36 ECTS and provides students with a deep knowledge of state-of-the-art techniques. Topics related to this module are software design, software quality and testing, software architecture, software performance, and software analytics.
The Data Engineering module includes three courses (18 ECTS) teaching students techniques and tools to design and model data (1st semester), to convert data into information (2nd semester), and to transform information into knowledge useful to support decision-making activities (3rd semester). The topics studied in the Software and the Data Engineering modules are continuously integrated through the whole course of study. This is done by devoting 18 ECTS to deal with both Software and Data Engineering with project-based learning.
The Electives module includes 12 ECTS, that the student can freely select from a given list of courses offered at the USI Faculty of Informatics based on his/her personal preference. Finally, the remaining 36 ECTS are dedicated to the MSc thesis.
Students will use the 6 ECTS of the 3rd semester to visit the research groups of the Software Institute of the Faculty of Informatics and to prepare a thesis proposal. Then, they will work full time on the thesis in the 4th semester in the research group of their choice.
The Master in Software and Data Engineering features courses taught by internationally renowned professors, being leading researchers at the USI Software Institute.
The teaching philosophy implemented throughout the Master aims at preparing and facilitating the student’s process of self-learning and self-acquisition of valuable knowledge and skills. Students master core design thinking processes, learning how to analyze a problem, define different solution strategies, analyze trade-offs and take a suitable design decision taking into account relevant constraints. Students learn valuable lessons while facing real-world datasets to be explored and prove themselves by building the software to do so.
All courses promote a mix of theory with practice, featuring a hands-on, learning-by-doing approach, with short-/long-term projects in which students apply what they study to concrete problems and datasets taken from the real world. Students are also expected to substantially improve their collaboration, presentation, and communication skills, thanks to the public project presentations planned for most of the courses.