Software Engineering


Quick links


Admission

International students can apply to the Software Engineering Master’s programme from 2 January until 15 March 2025 by using DreamApply. Estonian applicants from 1 February to 15 March 2025 by using National Admission Information Systems (SAIS).

If you have questions regarding the programme, write to the Programme Director, Prof. Dietmar Pfahl or ati.study@ut.ee for general questions about admission.


The curriculum of Software Engineering is designed to form T-shaped, full-stack software engineers.

The programme starts with a base module where you will acquire modern software engineering theory and practice, spanning all phases of software development from requirements elicitation to quality assurance.

You will then choose one of two field modules:

  • Enterprise Software Engineering;
  • Secure Systems Engineering.

A range of elective and free-choice courses will allow you to further specialise or to broaden your horizons.

During the second year, you will put your skills into use, first via an internship or an entrepreneurial project, and secondly via a research or engineering project leading to the defense of a Master’s thesis.


Curriculum structure

1. Base module (24 ECTS)

The base module is taught in the first semester. All courses in the module are compulsory and should be completed in the first semester.

  • MTAT.03.295 Agile Software Development 6 ECTS
  • MTAT.03.083 Systems Modelling 6 ECTS
  • LTAT.06.015 DevOps: Automating Software Delivery and Operations 6 ECTS
  • MTAT.03.306 Requirements Engineering 6 ECTS

2. Narrow field module (24 ECTS)

At the latest at the end of the first semester, students must decide which specialisation module they want to pick: Enterprise Software Engineering or Secure Systems Engineering. The courses in the two specialisations are listed below.

Enterprise Software Engineering (24 ECTS)

To complete Enterprise Software Engineering module, it is compulsory to take:

  • MTAT.03.229 Enterprise System Integration 6 ECTS

Choose two courses out three:

  • MTAT.03.231 Business Process Management 6 ECTS
  • MTAT.03.325 Software Product Management 6 ECTS
  • LTAT.03.024 Software Security 6 ECTS

Choose one course out of four:

  • LTAT.05.025 Business Process Mining 6 ECTS
  • LTAT.02.003 Big Data Management 6 ECTS
  • LTAT.02.007 Data Engineering 6 ECTS
  • MTAT.03.227 Machine Learning 6 ECTS

Secure Systems Engineering (24 ECTS)

To complete Secure Systems Engineering module, it is compulsory to take:

  • MTAT.03.307 Principles of Secure Software Design 6 ECTS
  • LTAT.03.024 Software Security 6 ECTS
  • LTAT.04.007 Privacy-preserving Technologies 6 ECTS

Choose one course out of four:

  • LTAT.02.003 Big Data Management 6 ECTS
  • LTAT.07.017 Applied Cryptography 6 ECTS
  • LTAT.03.017 Verified Functional Algorithms 6 ECTS
  • MTAT.03.227 Machine Learning 6 ECTS

All courses of this module also fit into Field Related Elective Courses Module.

3. Elective courses (12 ECTS)

Any regular master level course taught by the UT Institute of Computer Science (form of teaching: regular studies, code starting with MTAT or LTAT), except for Didactic Practice (MTAT.00.023 and MTAT.00.028) and Practical Training (MTAT.03.206 and MTAT.03.237) courses, fits into the Field Related Elective Courses Module.

4. Optional courses (6 ECTS)

Any course taught at the University of Tartu can be chosen as an optional course. However, a student with no prior knowledge of Estonian must complete at least 6 ECTS worth of courses on Estonian language and culture. In this case, the Estonian Language and Culture Module replaces Optional Courses Module in the curriculum. Students who have graduated from a high-school located in Estonia or earned a university degree in an Estonian-taught curriculum are exempt from taking the Estonian language course.

5. Practice module (18 ECTS)

The practice module provides students with the opportunity to use the knowledge obtained in the program in practice, either through internships, projects or teaching activities. The practice module takes place in the third semester. A student must take 18 ECTS of courses to complete Practical Training Module. Practical Training in Informatics (MTAT.03.237 and/or MTAT.03.206) can be completed abroad.

6. Master’s seminar (6 ECTS)

A student must complete Software Engineering Master’s Seminar I (3 ECTS). Software Engineering Master’s Seminar II (3 ECTS) can be replaced by any master or doctoral level research seminar offered by the Chairs or Research Groups of the Institute of Computer Science. These two seminar courses support writing and defending master’s thesis that is compulsory in order to complete the curriculum.

7. Master’s thesis (30 ECTS)

The Master's thesis is usually started during the third semester and fully developed and completed during the fourth semester. The student must have a supervisor from the University of Tartu.h. The thesis topic must be discussed and agreed with the supervisor.

TOTAL: 120 ECTS

Semester outline

Semester 1Base module (4 courses = 24 ECTS) plus one course (optional, elective, specialisation = 6 ECTS)
Semester 2

Narrow field module 1 (24 ECTS): Enterprise Software Engineering
or
Narrow field module 2 (24 ECTS): Secure Systems Engineering

Plus one MSc seminar course from the seminar module (3 ECTS) and one elective course (6 ECTS - or optional course, if not yet taken in the first semester)

If one specialisation course has already been taken in the first semester, then one additional elective course should be taken (6 ECTS)

Semester 3Internship or Entrepreneural Project (18 ECTS); plus one MSc seminar course from the seminar module (3 ECTS); plus one elective course (6 ECTS - or optional course, if not yet taken in first or second semester).
Semester 4Master's thesis (30 ECTS); the thesis topic should already been agreed in the third semester between student and supervisor; the supervisor must be from the University of Tartu.

The curriculum of Software Engineering is designed to form T-shaped, full-stack software engineers.

The programme starts with a base module where you will acquire general software engineering skills, covering both technical aspects (systems modelling and programming) and also management skills.

You will then choose one of two specialisations:

  • Enterprise Software at the University of Tartu
  • Embedded & Real-time Software TalTech.

A range of elective and free-choice courses will allow you to further specialise or to broaden your horizons.

During the second year, you will put your skills into use, first via an internship or an entrepreneurial project, and secondly via a research or engineering project leading to the defense of a Master’s thesis.


Curriculum structure

1. Base module (24 ECTS)

The base module is taught in the first semester. Two of the courses are taught at TalTech in Tallinn, and two are taught at UT in Tartu. TalTech arranges for a free bus shuttle from Tartu to Tallinn on Wednesdays. Buses leave in the morning from Tartu and return in the evening from Tallinn.

  • Advanced Programming (TalTech)
  • Agile Software Development (UT)
  • Software Quality and Standards (TalTech)
  • Systems Modelling (UT)

2. Specialisation module (24 ECTS) - choice of two modules

At the latest at the end of the first semester, students must decide which specialisation module they want to pick. The courses in the two specialisations are listed below.

  • Enterprise Software (taught at UT) - for students who started in 2018:
    • Business Data Analytics or Machine Learning
    • Business Process Management
    • Enterprise Systems Integration
    • Software Product Management
  • Enterprise Software (taught at UT) - for students who started after 2018:
    • Obligatory course:
      • Enterprise System Integration (6 ECTS)
    • Select two courses from the following three courses:
      • Business Process Management (6 ECTS)
      • Software Product Management (6 ECTS)
      • Requirements Engineering (6 ECTS)
    • Select one course from the following three courses:
      • Business Data Analytics (6 ECTS)
      • Machine Learning (6 ECTS)
      • Big Data Management (6 ECTS)
  • Embedded & Real-Time Software (taught at TalTech)
    • Embedded Software Workshop
    • Real-time Software Engineering
    • Software Synthesis and Verification
    • System Programming
    • Telecommunication Services and Network Application Frameworks

3. Elective courses (12 ECTS)

At UT, any regular course taught at Master's level in the Computer Science and Software Engineering programs and starting with LTAT.* or MTAT.* can be chosen as an elective course. The list of elective courses in the Student Information System (SIS) is showing examples of courses that can be selected. NB: Since the courses MTAT.00.023, MTAT.00.028, MTAT.03.206, and MTAT.03.237 are not "taught" they cannot be used as elective courses.

The rules for chosing elective courses at TalTech must be asked from Gert Kanter or Siiri Taveter (see under "People" below). A list of elective courses taught at TalTech can be found here.

4. Optional courses (6 ECTS)

Any course taught at the UT or at TalTech can be chosen as an optional course. However, for students who started in 2023, the following restriction applies: The Estonian language course (6 ECTS) is compulsory for students with no prior knowledge of Estonian. Students who have graduated from a high-school located in Estonia or earned a university degree in an Estonian-taught curriculum are exempt from taking the Estonian language course.

5. Practice module (18 ECTS)

The practice module takes place in the third semester.

  • Students taking the Enterprise Software specialization must take their practice module at TalTech. Please get in touch with practice coordinator Tõnu Näks at tonu.naks@taltech.ee
  • Students taking the Embedded & Real-time specialization must take their practice module at UT. Details can be found here. This has to do with the fact that the Master's of Software Engineering degree program is a joint degree between UT and TalTech and at least 20% of all credits (i.e., 20% of 120 ECTS) must be taken from either university.

6. Master’s seminar (6 ECTS)

You must take two seminars that are offered on master's level. One of the two seminars must either be the Seminar on Enterprise Software (offered at UT in the spring term) or the Master Seminar I (at TalTech). The second seminar can be a regular (research) seminar at UT or the Master Seminar II (at TalTech).

If you want to take both seminars at the same university, the following choice is available:

  • At UT you can choose once the Seminar on Enterprise Software (any part is ok; will only be offered in spring) and one regular (research) seminar - each seminar has 3 ECTS.
    • Important: The Seminar on Enterprise Software is a pre-requisite for the second seminar; any regular (research) seminar offered at the Institute of Computer Science to MSc students can be taken
  • At TalTech you can choose Master Seminar I & II (each seminar has 3 ECTS)

7. Master’s thesis (30 ECTS)

The Master's thesis is usually started during the 3rd semester and fully developed and completed during the fourth semester. The student must have a supervisor either from UT or from TalTech. The thesis topic must be discussed and agreed with the supervisor.

TOTAL: 120 ECTS

Semester outline

Semester 1Base module (4 courses = 24 ECTS) plus one course (optional, elective, specialisation = 6 ECTS)
Semester 2

Speciality 1 (24 ECTS): Embedded and Real-Time Software (Taltech University)
or
Speciality 2 (24 ECTS): Enterprise Systems (University of Tartu)

Plus one MSc seminar course from the seminar module (3 ECTS) and one elective course (6 ECTS - or optional course, if not yet taken in the first semester)

If one specialisation course has already been taken in the first semester, then one additional elective course should be taken (6 ECTS)

Semester 3Internship or Entrepreneural Project (18 ECTS); plus one MSc seminar course from the seminar module (3 ECTS); plus one elective course (6 ECTS - or optional course, if not yet taken in first or second semester)
Semester 4Master's thesis (30 ECTS); the thesis topic should already been agreed in the third semester between student and supervisor; the supervisor must be from UT or TalTech

Contacts

  • Dietmar Pfahl (UT): Program Director and Coordinator of the Enterprise Software specialisation at UT; main contact for academic questions related to the overall program and the Software Enterprise specialisation;
  • Gert Kanter (TalTech): Program Coordinator at TalTech; main contact for academic questions related to courses offered at TalTech and the Embedded & Real-Time Software specialisation; he is the main contact for students who take the practice module at TalTech;
  • Merilin Piirmann (UT): Administrative Coordinator; she is the main contact for all administrative questions (enrollment, student information system, documents, etc.) related to courses taught at University of Tartu.
  • Pelle Jakovits (UT): Practice Coordinator at UT; he is the main contact for students who take the practice module at UT;
  • Siiri Taveter (TalTech): Administrative Coordinator at TalTech; she is the main contact for all administrative questions (enrollment, student information system, documents, bus shuttle to Tallinn, etc.) related to courses taught at TalTech.

Industrial Master's Programme in IT

Master’s students in Software Engineering are invited to apply for the Industrial Master’s Programme in IT. This opportunity allows you to gain real industry experience by collaborating with a company throughout your second year of studies.

It’s a great way to stay focused on your studies and graduate on time while gaining valuable industry experience that prepares you for life after graduation. You will also have the chance to work on a thesis topic closely related to industry needs.

The programme offers an 11-month collaboration with a partner company, providing valuable networking opportunities and hands-on experience in a professional environment. Additionally, students receive a €1000 monthly scholarship to support their studies.

More information on the Industrial Master's Programme in IT can be found here.


Contacts

The following persons can be contacted with regards to questions about the Software Engineering Master's programme:

  • Dietmar Pfahl: Programme Director at UT Institute of Computer Science. He is the main contact for academic questions related to the overall programme and the narrow field modules;
  • Merilin Piirmann: Administrative Coordinator. She is the main contact for all administrative questions (enrollment, student information system, documents, etc.) related to courses taught at University of Tartu.
  • Pelle Jakovits: Practice Coordinator at UT Institute of Computer Science. He is the main contact for students who take the practice module.
Did you find the necessary information? *
Thank you for the feedback!