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.
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 in 2019:
- 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)
- Obligatory course:
- Embedded & Real-Time Software (taught at TalTech)
- Formal Methods in Embedded Real-time Systems
- Foundations of Embedded Real-time Systems
- Real-time Operating Systems and Systems Programming
- 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.
The rules for chosing elective courses at TalTech must be asked from Juhan Ernits or Siiri Taveter (see under "People" below).
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: https://courses.cs.ut.ee/2018/praktika/fall
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)
- At UT you can choose the Seminar on Enterprise Software (parts 1 and 2; each seminar has 3 ECTS each)
- 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 1||Core module (4 courses = 24 ECTS) plus one course (optional, elective, specialisation = 6 ECTS)|
Speciality 1 (24 ECTS): Embedded and Real-Time Software (Taltech University)
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)
As a first-year student of Software Engineering, you can to apply for the Industrial Master’s Training Track. 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 industrial track begins in the spring semester of the first year and lasts until the end of your master’s studies. Students in the Industrial Training Track 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 Industrial Training Track will receive a monthly stipend of 500 euros in their second, third, and fourth semesters of study.
Details can be found here: https://www.cs.ut.ee/en/studying/industrial-masters-programme
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; email: Dietmar dot Pfahl at ut dot ee
- 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; email: Juhan dot Ernits at ttu dot ee
- Pelle Jakovits (UT): Practice Coordinator at UT; he is the main contact for students who take the practice module at UT; email: Pelle dot Jakovitsh at ut dot ee
- Liis Tamm (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; email: Liis dot Tamm at ut dot ee
- 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; email: Siiri dot Taveter at ttu dot ee