
Structure of the curriculum
The European Master in Software Engineering has 120 ECTS organized in 4 semesters. The studies are structured in modules, which in turn are divided into subjects:
| Modules | Subjects | Mandatory Credits by Module |
|---|---|---|
| Software Development |
|
14 |
| Project Management and Organizational Processes | 8 | |
| Support Processes | 14 | |
| Advanced Software Engineering Aspects |
|
40 |
| Software Project |
|
14 |
| Master Thesis |
|
30 |
The offer of elective subjects and seminars is annually revised and updated by the master’s Academic Committee, to ensure an updated educational offer, able to react quickly in response to the technological, professional, and academic context.
Distribution of subjects in semesters
| Semesters | 1º | 2º | 3º | 4º |
|---|---|---|---|---|
| Credits | 30 ECTS | 30 ECTS | 30 ECTS | 30 ECTS |
| Compulsory subjects | Software Project (14 ECTS) | Master Thesis (30 ECTS) | ||
| Elective Courses | Choose 6 ECTS | Choose 18 ECTS | Choose 16 ECTS |

Competencies
Specific competences of the degree
- SC1. Be able to write a project plan that allows coordinating and prioritizing resources and activities in order to obtain the expected project results within specified time, cost and quality constraints.
- SC2. Be able to monitor a software project and take corrective actions if necessary.
- SC3. Be able to make an estimation of the software project parameters.
- SC4. Be able to apply software development models considering the software project features.
- SC5. Be able to extract, analyze and specify the needs of clients, users and other stakeholders, considering all the possible aspects affecting the system to be developed.
- SC6. Be able to design module tests and help in the design of integration and installation tests. Perform system integration, integration testing and installation.
- SC7. Be able to create verification and validation plan that allows coordinating and prioritizing resources and activities in order to assure the required quality level.
- SC8. Be able to apply the most appropriate verification and validation techniques for a given software project, as specified in a verification and validation plan.
- SC9. Be able to define, evaluate and improve an organization’s software processes.
- SC10. Be able to objectively evaluate processes and products against applicable standards and norms.
- SC11. Be able to create identify, control, report and audit a system configuration and its changes.
- SC12. Be able to establish and implement the design of software systems, considering the relevant quality attributes.
- SC13. Have a vision of the different specific and emerging aspects in the Software Engineering discipline, and deepen into some of them.
- SC14. Understand what Software Engineering practices can and cannot achieve, and their limitations and possible future evolution.
- GPC20. Have the required skills to make connections among the desires and needs of customers and clients and what the technology can offer.
- GPC21. Have the capability to choose between acquiring, developing or applying technologies along a wide range of process, product and service categories within a company or institution.
- GPC22. Have the capability to understand the market, its habits and needs of technological products or services.
- GPC23. Have the capability to develop and deploy a computing solution within an business environment.
Correspondence between modules and competences of the degree
Competences |
Modules |
|||||
|---|---|---|---|---|---|---|
| SD | PMOP | SP | ASEA | P | MT | |
| SC1: Be able to write a project plan that allows coordinating and prioritizing resources and activities in order to obtain the expected project results within specified time, cost and quality constraints. | X | X | * | |||
| SC2: Be able to monitor a software project and take corrective actions if necessary. | X | * | ||||
| SC3: Be able to make an estimation of the software project parameters. | X | * | ||||
| SC4: Be able to apply software development models considering the software project features. | X | * | ||||
| SC5: Be able to extract, analyze and specify the needs of clients, users and other stakeholders, considering all the possible aspects affecting the system to be developed. | X | * | ||||
| SC6: Be able to design module tests and help in the design of integration and installation tests. Perform system integration, integration testing and installation. | X | * | ||||
| SC7: Be able to create verification and validation plan that allows coordinating and prioritizing resources and activities in order to assure the required quality level. | X | * | ||||
| SC8: Be able to apply the most appropriate verification and validation techniques for a given software project, as specified in a verification and validation plan. | X | * | ||||
| SC9: Be able to define, evaluate and improve an organization’s software processes. | X | * | ||||
| SC10: Be able to objectively evaluate processes and products against applicable standards and norms. | X | X | * | |||
| SC11: Be able to create identify, control, report and audit a system configuration and its changes. | X | * | ||||
| SC12: Be able to establish and implement the design of software systems, considering the relevant quality attributes. | X | * | ||||
| SC13: Have a vision of the different specific and emerging aspects in the Software Engineering discipline, and deepen into some of them. | X | * | ||||
| SC14: Understand what Software Engineering practices can and cannot achieve, and their limitations and possible future evolution. | X | * | ||||
| GPC20: Have the required skills to make connections among the desires and needs of customers and clients and what the technology can offer. | X | |||||
| GPC21: Have the capability to choose between acquiring, developing or applying technologies along a wide range of process, product and service categories within a company or institution. | X | |||||
| GPC22: Have the capability to understand the market, its habits and needs of technological products or services. | X | |||||
| GPC23: Have the capability to develop and deploy a computing solution within an business environment. | X | |||||
* The end of master’s work will address the competences of the subject or subjects in the focus (s) of the work.
General competences of the degree
- CG1. That students know how to apply the knowledge acquired and their ability to solve problems in new or unfamiliar environments within broader (or multidisciplinary) contexts related to their area of study.
- CG2. That students are able to integrate knowledge and face the complexity of formulating judgments based on information that, being incomplete or limited, includes reflections on social and ethical responsibilities linked to the application of their knowledge and judgments.
- CG3. That the students know how to communicate their conclusions and the knowledge and ultimate reasons that sustain them to specialized and non-specialized audiences in a clear and unambiguous way.
- CG4. That students have the learning skills that allow them to continue studying in a way that will be largely self-directed or autonomous.
- CG5. Organization and planning
- CG6. Information management.
- CG7. Specification and performance of complex, unclear or unfamiliar computer tasks.
- CG8. Approach and resolution of problems also in new and emerging areas of your discipline.
- CG9 Application of the most recent or innovative problem solving methods that may involve the use of other disciplines.
- CG10. Creative thinking ability with the aim of developing new and original approaches and methods.
- CG11. Integration of knowledge from different disciplines, as well as complexity management.
- CG12. Comprehensive understanding of the techniques and methods applicable in a specific specialization, as well as its limits.
- CG13. Appreciation of the limits of current knowledge and the practical application of the latest technology.
- CG14. Knowledge and understanding of the necessary information technology for the creation of information models, and complex systems and processes.
- CG15. Ability to contribute to the future development of information technology.
- CG16. Ability to work independently in their professional field.
- CG17. Management skills and ability to lead a team that can be composed of different disciplines and levels.
- CG18. Ability to work and communicate also in international contexts.
- CG19. Systematic approach to risk management.
- GPC20. Ability to make connections between the wishes and needs of the consumer or client and what technology can offer.
- GPC21. Ability to decide between acquiring, developing or applying technology throughout the wide range of categories of processes, products and services of a company or institution.
- GPC22. Ability to understand the market, its habits and needs of technological products or services.
Subjects
The offer of subjects that make up the Master in Software Engineering EMSE -UPM is as follows:
Master’s Thesis
The Master’s Thesis is a 30 ECTS individual project that synthesizes the skills acquired in the Software Engineering program. It consists of the following:
- Individual execution of a development project or applied research work in Software Engineering.
- Prepare a dissertation.
- Presentation and defense in English before an examination Board composed of EMSE Faculty.
Students will be assigned a Master’s Thesis supervisor to help plan and oversee the work through regular meetings. Supervisors will also help students prepare the thesis document and the public defense.
The Master’s Thesis can be carried out:
- In a university different than UPM.
- In a research center.
- In the organization where students completed the Software Project subject, taking the work performed as a starting point.
In these cases, the student must request the authorization of the Master’s Thesis coordinator and must have at least one UPM professor participating in the Master as supervisor or co-supervisor.
Software Project (Internships)
The main goal of the Software Project is to guide the student in the application of previously acquired knowledge in a work environment that resembles the conditions that are typically found in the software development industry workplace.
The project can be proposed by a professor or company. In the latter case, a Cooperation Agreement should be previously signed by the UPM and the company, as regulated by law (Real Decreto 1497/1981), and an External Supervisor should be assigned within the company.
Each student will be assigned a project and an Academic Supervisor. The Academic Supervisor will issue an initial report about the adequacy of the proposed work, and a final report assessing the reached objectives. The Academic Supervisor will make sure that the work adheres to the agreed conditions.
In the Software Project the student will deepen into the application of the acquired knowledge and skills in a realistic environment, making connections among the desires and needs of customers and clients and what the technology can offer, choosing between acquiring, developing or applying the necessary software components, demonstrating his/her understanding of the market, and his/her capability to develop and deploy a software solution in a real environment. Additionally, general competences related to self-learning capability, autonomy, and capability to work independently in a professional environment will also be addressed.
As a result of the Software Project work, the student will produce a report about the tasks carried out and the results obtained. When the project is performed during an internship at a company, the External Supervisor shall issue a technical report about the tasks assigned to the student, the work environment and work conditions, and they shall also issue a final report on the company’s satisfaction with the work conducted by the student and the objectives reached. This report shall be considered by the Academic Supervisor in the preparation of their own evaluation report.

