Master of Science in Software Engineering

Allikas: Kursused
(Ümber suunatud leheküljelt IVSM)

Master of Science in Software Engineering is a joint curriculum of the University of Tartu and the Tallinn University of Technology. The current page contains information about the relevant courses given at the Tallinn University of Technology.


Campus information

To find your way around the TTÜ campus, please take a look at [1], there is also a map available there. The dining options in our campus are: 1) Big diner TTU main building, to the right from main entrance; 2) Diner in the 6th building U06; 3) Diner in ICT building Akadeemia tee 15A; 4) diner in SOC building (considered one of the best by many people); 5) Diner in TTU library (also considered one of the best). And there is a diner in IT Colleage building at Raja 4C and also in Mectory building at Raja 15.

Campus navigation

There is a TTU app called Taltech that can be used to navigate on the TTU campus and inside the buildings.


If you choose the the Embedded and Real-time software engineering specialization, then you will need to find a place to stay in Tallinn. The dormitory situation is very tight, so please make sure you book your places well ahead.

The information how to book a place at the dormitories can be found here.

For new students, please make sure you file your applications on the 17th of June! The system opens on June 17, and the sooner you apply the higher you are in the queue. You should not file it earlier either because then your application will end in a pile with all other students, and it takes longer. In the commentary field, please write:„A booked place as agreed with the TTÜ Student Campus", as we have reserved few places for software engineering students. Student can choose only two houses on the application, so have a look at different dormitory buildings here:[2] Siidisaba building is located not in the campus, but in Kristiine area, which is closer to city centre, but away from university. Campus office will start giving out offers starting July 3. Have a look at the campus website: [3] For students who plan to move after Autumn semester, November is about the latest time when to file an application with CampusTTU. Please note that students who have not stayed in TTÜ dormitories can follow the link "Send application". Students who have previously stayed at the dormitories need to follow the link "e-kyla login" and file the application from there. You can send yourself a password reminder from the page.

Access to TTÜ Study Information System

It is necessary to register to the courses given at TTÜ in TTÜ Study Information System (Õppeinfosüsteem, ÕIS for short). To access it you need to either

  • Use either your Uni-ID (instructions for setting password below), your ID card or residence permit with a chip to log in at
  • There is an old inteface to the same system at Feel free to use the one that you feel more comfortable with. This interface allows you to log in using your chip card only or you need to go to the IT office to get a special ÕIS user account (not recommended, you would need to contact ÕIS admins in room ÕIS SOC-132).

Login to lab computers, study information system, submission of homeworks

To log in to labs and to submit homeworks in many courses you will need to know your Uni-ID. You are able to find it out and set a password at by again using your ID card or residence permit with a chip. (You are also able to log into the lab computers with the chip card).

If you do not have the chip card, you will be able to find out your Uni-ID and set passwords in room ICT-410 or at the IT HelpDesk, room SOC-129.

There is a learning environment where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to and choose the Office365 login. Use your Uni-ID based e-mail address in the form '' and set up your account in the system. You will later be able to join courses.


It is possible to view the timetables by going to [4] and selecting "Timetables" from the left menu. Then look for your group (Autumn semester: first year IVSM11, IVSM12; second year: IVSM31, IVSM32, Spring semester first year IVSM21, IVSM22). Please note that there may be changes in the timetable until the beginning of September / beginning of February.

For combining your electives and free choice courses, please check out the "condensed timetable" link.

1st semester

Core module

Agile Software Development The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact for further information.

Systems Modelling The course will take place in Tartu. If you choose the Embedded and real-time software specialization and stay in Tallinn, you will be able to reimburse your bus/train tickets for attending the core module courses in Tartu. Contact for further information.

IDY0204 Software Quality and Standards (Lecture Wed 10:00- 11:30 in U06A-229, lab Wed 16:00-17:30 in ICT-121,122) Timetable in OIS

ITT8060 Advanced programming (Lecture Wed 12:00- 13:30 in U03-103, lab Wed 14:00-15:30 in ICT-401) Timetable in OIS imetable

For students staying in Tartu a shuttle bus will be provided to take them to Tallinn on Wednesdays and back to Tartu in the evening. First bus will be leaving Tartu on Sept. 4th at 7.15 Raatuse street 22

The buildings of the TTÜ campus can be located by the help of the map of the TTU campus.

Embedded and real-time software specialization

ITS8020 System Programming (Lecture Fri 10:00- 11:30 in (check timetable), lab Fri 12:00-13:30 in (check timetable)) Timetable in OIS


During the 1st semester you should consider concentrating on the core module courses and the first specialization course. If you feel you still have some more capacity, you can choose among the following courses that will count as electives:

  • ITI0210 Foundations of artificial intelligence and machine learning
  • ITB8832 Mathematics for Computer Science
  • IAS0430 Microprocessor Systems

2nd semester

NB! Always double check with the timetable available at study information system.

Seminar module

ITX8301 MSc Seminar I (Spring 2019 Mondays at 14:00-15:30 in ICT-632) Timetable in OIS

Embedded and real-time software specialization

ITI8531 Software synthesis and verification

ITS8050 Embedded Software Workshop

ITI8520 Real-time software engineering


ITS8040 Natural Language and Speech Processing Timetable in OIS

IAS0530] Dependability and fault tolerance Timetable in OIS

ITI8565 Machine learning Timetable in OIS

IEE1570 Cognitronics - course on building cyber-physical systems that work together with the human body Timetable in OIS

YFX1510 Scientific computing Timetable in OIS

IAS0330 Embedded Systems Timetable in OIS

ITI8700 Formalizing knowledge Timetable in OIS

Suggested courses that will count as electives

ITS8060 Real-Time Big Data Analytics (Spring 2019: Lecture Wed 08:00- 09:30 in U05- 103, lab Fri 08:00- 09:30 in ICT- 122) Timetable in OIS

This course is found under optional courses timetables.

3rd semester

Embedded and real-time software specialization

ITX8302 MSc seminar II All the rest of the compulsory courses should be done by the 3rd semester. You will have the option to participate in a startup project or carry out your practical training in addition to the elective courses.

You will have a palette of MSc level courses to choose from as a free studies course that would support your personal interests and help you in making your skills set unique and attractive to potential employers.


IAS0220 Robot guidance and software Timetable in OIS

ITS8030 Computer vision Timetable in OIS

ITS8010 Mathemathical Modelling Timetable in OIS

Suggested courses that will count as electives

ITI8730 Data mining Timetable in OIS

Practical training projects

ITX8522 Software Entrepreneurship Project. Will take place together with ITX8540. Software engineering students should register to ITX8522.

4th semester

You are free to choose an elective from the choices available during the Spring semester. Your main effort is expected to go into finalizing your thesis.

Practical training

In software engineering you need to complete 18 ECTS worth of practical training. You can choose between getting credit for internships or doing project courses listed under the practical training module. The below information currently concerns only the credit for internships. Please note that starting with the 2016 cohort, the students choosing the Enterprise Software specialization will need to choose from the two course codes below (or both) to get credit for internships at companies. The embedded and real time software engineering students will need register their internships in University of Tartu.

To get your practical training assessed, you will need to complete a 4 step process and pick from the two intership credit codes:

  • ITX8510 offers 6 ECTS for Internships & Practical trainings. (4 weeks of full time work)
  • ITX8511 offers 12 ECTS for Internships & Practical trainings. (8 weeks of full time work)

If you are looking for a new internship place, please first check out UT practical training offers: [5] and also the following Tallinn University of Technology faculty wide page: [6].

NB! You do not need to register to the practical training courses in Tallinn University of Technology ÕIS. Please read on to find out what the actual procedure is!

If you have found the company or government agency where you want to carry out your internship and have an idea about the duration of the internship, then you should contact the representative at the company and sign the follwing internship form:

1) Practical training plan2016.docx

If you have already work experience, the requirements to get this recognised are as follows:

The work that you have done must be in an IT-related field. For every 6 ECTS you must have worked at least 4 weeks full-time, or 8 weeks part-time (at 50%). You will still be asked to complete the practical training plan to be sure that the internship / practical training gets accepted.

Sign the form, have it signed by the supervisor at the company and then enrol yourself to the IVSM internships and practical training course and upload it to the appropriate assignment.

Please note that the practical training should be carried out in parallel with your studies so that you can actually apply the skills learned in the programme.

NB! No forms should be forwarded by e-mails!

2) Your supervisor at the legal entity where you carry out your internship will have to sign a form and evaluate your work progress. Internship regulations and supervisor form can be found on the Internship regulation and forms page ( This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in [7].

You can give the paper copy to the member of staff during your practical training seminar.

3) You will need to write a report about your internship. The guidelines of what the report should contain is given in the following document: Internship report guidelines.pdf. That needs to be submitted together with the supervisor form mentioned in the previous point.

4) You will have to give a presentation about what you have done during your work/internship. This presentation should not only give an overview of what the company is/was doing, but also present some particular projects and problems that you have been working on. If you have worked in a team, also explain how this went and what your contribution was. The presentation should be 8-10 min, and you should expect questions at any time.

The slots for each semester will be listed in the course [8] under an appropriate wiki. Please write your name (by not exceeding the maximum student count) under the appropriate date. Please note that there are meetings in Tartu and Tallinn listed.

Before the seminar, you should file the application to register practical training under the appropriate course code (ITX8510 and/or ITX8511) in Tallinn University of Technology ÕIS. NB! Please press the "submit" button as well!

Note that If you presentation contains some confidential material, then we will arrange a private presentation for your presentation.

If you have any questions, please don't hesitate to contact the practical training coordinator Tõnu Näks,


When writing the thesis you should follow the TTÜ School of IT thesis formatting guidelines: [9]

Deadlines for defence in January 2020

  • September 15, 2019: Thesis problem statement submission in ained.ttu.eeunder IVSM Thesis defence course
  • January ..., 2020: Thesis pdf-file submission in page
  • January ..., 2020: Submission of a single paper copy of the theses to Siiri Taveter in ICT-429
  • 3rd week in January , 2020: Thesis defence

Deadlines for defence in May 2020

  • December 3, 2019: Thesis problem statement submission
  • May ..., 2020: Thesis pdf-file submission in page
  • May ..., 2020: Submission of a single paper copy of the theses to Siiri Taveter in ICT-429
  • End of May , 2020: Thesis defence

Examples of Successful Theses in Software Engineering


  • Jüri Vain
    • Topic areas: mode-based planner synthesis for non-deterministic and distributed systems.
    • Contact: juri.vain (a)
  • Tanel Tammet
    • Topic areas: automated theorem proving, logic based methods in network software
    • Contact: tanel.tammet (a)
  • Jaan Penjam
    • Topic areas: programming language syntax and semantics, evolutionary algorithms, algebraic automata theory
    • Contact: jaan (a)
  • Tarmo Uustalu
    • Topic areas: structured proof theory and type theory, algebraic and categorical logic, program language semantics, program logics, functional programming, methods of program transformation and construction, applications of modal logics in computer science
    • Contact: firstname (a)
  • Marko Kääramees
    • Topic areas: formal methods, model-based testing of software, algorithms, system administration.
    • Contact: marko.kaaramees (a)
  • Sven Nõmm
    • Topic areas: non-linear control systems, modelling, analysis, synthesis
    • Contact: sven.nomm (a)
  • Juhan Ernits
    • Topic areas: model-based testing (including for smart devices, IoT, server side software, robots), applications of functional programming technology (F#), model-based fault detection, 3D mapping using video streams.
    • Contact: juhan.ernits (a)
  • Gert Kanter
    • Topic areas: robot testing, robot software based on ROS, control of robotic manipulators, software engineering in robotics.
    • Contact: gert.kanter (a)
  • Ago Luberg
    • Topic areas: tourism recommender systems, software intensive systems.
    • Contact: ago.luberg (a)
  • Evelin Halling
    • Topic areas: model-based testing, social robotics
    • Contact: evelin.halling (a)
  • Maili Markvardt
    • Topic areas: software testing, e.g.
      • Software testing process, methods & tools in the example of company or organization The aim of this topic is to design and implement comprehensive testing process in an organization, including testing tasks and responsibilities, methods and supporting tools according to analysis of needs. The result (improvement) of implementing the new process must be measurable.
      • Choosing and/or developing test exectution tool/test management tool for a project or organization The aim of this topic is to analyse current situation or problem and choose most appropriate toolset for solving this problem. It can also be considered as implementing (programming) suitable test harness or tool for a specific project.
      • Practical solutions for measuring software test coverage (white and black box) and its relations to testing and development process costThis topic includes finding a way to measure test coverage, implement (additional) tests to increase the coverage and measure if achieved level of coverage is sufficient and if it is economically reasonable (not too expensive to achieve and manage in long term).
      • Survey on cost of software bugs in the example of Estonian public and private sector software systems This topic includes analysis of bugs and IT related problems and creating a framework that could be used in Estonia for assessing cost of live bugs and estimating necessary testing efforts.
    • Contact: maili.markvardt (a)
  • Leonidas Tsiopoulos
    • Contact: leonidas.tsiopoulos (a)
    • Integrating verification methods and tools for complex real-time systems, possible case studies include: heating, ventilation and air-conditioning (HVAC), autonomic feeding tractor, or a Nanosatellite.
    • Implementing model transformation between Event-B and Uppaal Timed Automata.
    • Implementing tool support for Model-Based Testing workflow.
    • Verification of hard real-time scheduling on multi-core platforms for mixed-critical applications.

If you cannot find a supervisor matching your interests, please check the topics offered in other MSc curricula at TUT [[10]].

If you still could not find a suitable topic, please contact prof. Jüri Vain (juri.vain (a) or Juhan Ernits (juhan.ernits (a) for further information.