Master in Software Engineering (Joint CMU - UC)

Department of Informatics Engineering

open website other courses
Academic year




Course Type

2nd Cycle Studies - Lifelong Learning Master Programme

Qualification Awarded



4 Semester(s)

ECTS Credits



Lifelong training second cycle

Course Coordinator(s)

Bruno Miguel Brás Cabral (bcabral@dei.uc.pt)

Marco Paulo Amorim Vieira (mvieira@dei.uc.pt)

ECTS Departmental Coordinator(s)

João Paulo da Silva Machado Garcia Vilela (jpvilela@dei.uc.pt)

Jorge Miguel Sá Silva (sasilva@dei.uc.pt)

General Objectives of the Course
This cycle of study aims to provide in Portugal, via a partnership between UC and CMU, advanced training in Software Engineering. Graduates of this course are absolutely indispensable to the professional industry software, as they are capable of managing projects of large size, complexity, and restrictions imposed by the market. Portugal needs to be able to train people extremely valuable in the technical hierarchy of the world software industry. The masters on software engineering are necessary for the software industry in the same way as are MBAs for management. There is no similar offer in European Universities, and the market need clearly exists. This course can also influence in a profound and positive way the Portuguese Universities, and the University of Coimbra in particular, build their offer professional master's degrees, designed to train technicians for industry leaders, highly qualified.
Learning Objectives and Intended Skills
This master defines its learning objectives, operationalized by its courses and verified by examining the students' academic path, having as reference the profile required for professionals capable of applying a systematic, disciplined and quantifiable approach leading to the development, operation and maintenance of a software system which meets the functional requirements and relevant quality attributes. The objectives described below are structured using the Dublin Descriptors, integrating horizontal competences and specific
competences of the profession of software engineer, understanding the same as requirements for the degree.
a) Knowledge and ability to understand
- Know and understand critically and in depth the core principles of software engineering, particularly those involved in computer solutions to problems of complexity and high dimension.
- Understand critically the knowledge involved in the solutions to the major application areas of Software Engineering.
- Know the methods and techniques necessary to develop a software project, including: project management, engineering requirements, software architecture design, testing and software quality, systems integration, etc.
b) Application of knowledge and understanding
- Show ability to conceive, design and implement solutions involving knowledge and concepts acquired reflectively, in new and unfamiliar situations.
c) Judgment / decision making
- Show the ability to integrate knowledge, deal with complex issues, critically judge new scientific and technological proposals, develop solutions, design models, systems and processes and make judgments in situations of limited or incomplete information, with competing requirements, including reflections on the implications and ethical and social responsibilities that result or influence those solutions and judgments.
- Show the ability to promote the search and application of methods and innovative solutions, appealing to curiosity, creativity and rigor.
d) Communication
- Show the ability to communicate their findings - and the knowledge and reasoning underlying them - whether specialists or not , written or orally, in national and international contexts, in a clear and unambiguous way.
- Show ability to work cooperatively, particularly in contexts of leadership involving heterogeneous teams.
e) self-learning skills
- Demonstrate to have developed the competences to independently pursue the expansion of knowledge and skills in a self-oriented way.
Mode of Study
full time attendance, daytime
Access to Further Studies
PhD Program
Admission Requirements

Although most students admitted to the joint CMU-UC MSE program hold undergraduate degrees in computer science, engineering, mathematics, or physics, applicants who can clearly demonstrate the ability to perform graduate-level work in software engineering will be also considered, for their academic excellence and professional potential will compensate for the lack of formal training. Programming experience is a requirement, but not the only admission criterion. Candidates will be evaluated according to their education qualifications. The admission requirements are:
1. Two year experience in a significant software development project (if the applicant does not have at least two years experience, s/he may still qualify for the joint CMU-UC Master’s degree in Science in Information Technology (MSIT-SE))
2. Knowledge, at least at the level of an undergraduate course, of discrete mathematics, algorithms and data structures and programming languages.
3. Skills in programming-in-the-small, as well as competence in using an imperative block-structured or object-oriented languages, such as Java, C++, Pascal, Modula2, Ada or C.
4. Practical knowledge of programming methods and computer organization
5. In-depth knowledge of at least two of the following topics: compiling techniques, comparative programming languages, operating systems, database systems

Candidates should check the admission requirements available on this site, in addition to the information provided here.

Recognition of Prior Learning
Two years of professional experience requiered.
Qualification Requirements and Regulations
The legal framework for the qualification is established by the decrees: Decree-Law no 74/2006, de 24 th March, amended and republished by the decree: DL no 107/2008, 25th June; ordinance no 782/2009, 23th July.
Professional Goals
Software Developer, Software Architect, Software Project Manager, Requirements Engineer, Software Quality Manager
Examination Regulations, Assessment and Grading
As assessment is a pedagogical activity inseparable from the teaching process, its aim is to establish the students' competencies and knowledge, their critical sense, ability to recognize and resolve problems, as well as their written and oral presentation skills. Students may only register for exams for classes they are currently registered for under the terms of number 6 of article 4 of the University of Coimbra Pedagogical Policy. The following are examples of assessment items: Oral or written exams, written or practical work, individual and group projects that may require an oral defense, as well as class participation. Assessment for each class may include one or more of the above mentioned items. Grading is based on a scale of 0 to 20 and a grade of 10 is required to pass. Whenever assessment includes more than one item, the final grade is calculated by taking into account the relative weight of each item according to a formula published in the course outline under the terms of number 2 of article 7 of the UC Pedagogical Policy.
Graduation Requirements

Completion of 120 ECTS, including the development of a Software Project for a real client.

Study Programme
1st Semester
Start date: 10-09-2018
End date: 20-12-2018
2nd Semester
Start date: 04-02-2019
End date: 30-05-2019
- A3ES
Agência de Avaliação e Acreditação do Ensino Superior
  • 2014-09-16 a 2020-09-15
R/A-Ef 1565/2011 - DGES
Direcção Geral de Ensino Superior
  • 2011-03-18