emse programme

Description of the Programme

The EMSE curriculum covers a wide range of topics, such as software process management, verification and validation, software design, and requirements engineering, and advanced topics including software quality, distributed systems and development, global software development, embedded systems, and open source software & agile development.

Structure of the Programme

The curriculum consists of modules (divided into foundations and advanced topics in software engineering), an internship, a summer school, and a master thesis. The full structure can be accessed at EMSE programme

The programme foresees a mobility period in two different universities of the Consortium. A mobility track is one of such mobility period where the student will spend one year in one university (i.e., first university) and one year in another university (i.e., second university). A learning path is a study plan defined on a specific mobility track. The learning paths are accessible at this link

Project and thesis work will be carried out at the second university and will be jointly supervised and evaluated by two supervisors, one from each university. (for more information see Exams & Thesis)


All courses are taught in English. Students are requested to acquire language skills in a local language (e.g., by passing an exam) of each university visited.

Starting term

The term starts between August – October depending on the first university regulation.

Learning outcomes

A successful student will be able to:

  • Have solid knowledge of theoretical foundations in SE and their application in the several informatics domains; that is, have knowledge of techniques and methods of design, development, test, and maintenance of information systems and be able to apply them in different contexts, also not typically IT, where the software technology is anyway crucial;
  • Be able to analyse and solve problems in SE of several different levels of complexity with specific focus on empirical investigation; that is, employ the scientific methods of investigation in SE; in particular understand and use mathematical instruments that support ESE and its practice;
  • Have basic knowledge of public, corporate and professional cultures and societies in Europe;
  • Have practice in various software applicative sectors in the socio-economic context including the non-IT specific like health, automotive, energy;
  • Be able to work in large autonomy also managing projects and infrastructures over different platforms, like cloud, distributed, or mobile systems;
  • Have a command of the SE technical knowledge and skills necessary to practice as software developer;
  • Have a command of the SE management skills needed to organize and control software project team work;
  • Be able to reconcile conflicting project objectives providing reasonable cost and time information;
  • Overcome the challenges of global software development and internationalization.

The international dimension of the Masters Course guarantees that students familiarize with different educational methods and multi-culture.