Skip to main content

Software Engineering MSc

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

The programme starts with a core 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 = UT) or
  • Embedded & Real-time Software (at TalTech University).

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. Core module (24 ECTS):

The core 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 mornig 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)
    • System Programming
    • Software Synthesis and Verification
    • Embedded Software Workshop
    • Real-time Software Engineering

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 Juhan Ernits 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.

5. Practice module (18 ECTS)

The practice module takes place in the third semester. Details can be found here

Important: Students taking the Enterprise Software specialization must take their practice module at TalTech. Students taking the Embedded & Real-time specialization must take their practice module at UT. 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. 


Semester outline

Semester 1 Core 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)
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 3 Internship 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 4 Master'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

Frequently Asked Questions (FAQs)

A list of FAQs with answers can be found here

Industrial Master's Programme in IT

As a first-year student of Software Engineering, you can to apply for the Industrial Master’s Programme in IT. This special study track gives you an opportunity to cooperate with a company throughout your studies. It means that from the second semester onward, half of your studies will take place at a partner company where you will gain practical skills, solve real-life problems, and write your master’s thesis on a company-related topic.

The programe  begins in the spring semester of the first year and lasts until the end of your master’s studies. Students in the Industrial Master's Programme in IT will follow the same curriculum as all Software Engineering master’s students, the difference is in the practical assignments, professional practice module (18 ECTS), and master’s thesis (30 ECTS) which will be related to the company’s work.

In addition to the valuable experience which gives an advantage in the job market, students in the Programme will receive a monthly stipend starting of 660 euros in their second, third, and fourth semesters of study.

Details can be found here.

The lecturing team of Software Engineering includes top-level academics and researchers with international teaching experience acquired in over 20 universities worldwide. The permanent lecturing team is complemented by guest lecturers from Estonia’s most successful IT companies.

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

  • 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;
  • Juhan Ernits (TalTech): Program and Practice 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;
  • Pelle Jakovits (UT): Practice Coordinator at UT; he is the main contact for students who take the practice module at UT;
  • Maarja Kungla (UT): Administrative Coordinator at UT; she is the main contact for all administrative questions (enrollment, student information system, documents, etc.) related to courses taught 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.
Lähiõpe jätkub.

Kevadsemestril jätkub lähiõpe


Ülo Kaasiku stipendium

Eesti informaatika suuna ühe rajaja, emeriitprofessor Ülo Kaasiku (9. november 1926 Tallinn - 17. aprill 2017 Tartu) mälestuseks asutati 2018.

ATi_Eno Tõnisson

Eno Tõnissoni nimeline informaatika õpetajakoolituse stipendium