Master of Science in Software Engineering
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.
Accommodation
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 1st of June! The system opens on June 1st, 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 https://ois2.ttu.ee
- There is an old inteface to the same system at https://ois.ttu.ee. 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 pass.ttu.ee 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 ained.ttu.ee where you will get access using your Uni-ID based e-mail address. Once you have your Uni-ID access sorted, please navigate to ained.ttu.ee and choose the Office365 login. Use your Uni-ID based e-mail address in the form 'your-uni-id@ttu.ee' and set up your account in the system. You will later be able to join courses.
Timetables
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 siiri.taveter@ttu.ee 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 siiri.taveter@ttu.ee for further information.
IDY0204 Software Quality and Standards (Autumn 2018: Lecture on Wednesday at 10:00 U06A-201; Lab also on Wednesday at 16:00 in ICT-121 )
ITT8060 Advanced programming (Autumn 2018: Lecture on Wednesday at 12:00 U06A-201; Lab also on Wednesday at 14:15 in ICT-121 )
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. The bus will start at 7:15 from Raatuse 22, Tartu and return at 18.15 from Ehitajate tee 5 (the main university building).
The buildings of the TTÜ campus can be located by the help of the [5].
Embedded and real-time software specialization
ITS8020 System Programming (Autumn 2018: Lecture on Friday at 10:00 ICT-315; Lab also on Friday at 12:00 in ICT-121, 122 )
Electives
ITI8600 Methods of Knowledge Based Software Development - not available in Autumn Semester 2018
2nd semester
NB! Always double check with the timetable available at study information system.
Seminar module
ITX8301 MSc Seminar I (Spring 2018: Monday 16:00 - 17:30 ICT-315 )
Embedded and real-time software specialization
ITI8531 Software synthesis and verification: (Spring 2018: Lecture on Thursday at 10:00 ICT-A1; Lab also on Thursdays at 12:00 in ICT-122 or at 14:00 ICT-637)
ITI8500 Foundations of embedded real-time systems (Spring 2018: Lecture on Tuesdays at 8:00 in ICT-501; Lab on Wednesdays at 10:00 in ICT-501)
ITI8520 Real-time software engineering. (Spring 2018: Lecture on Wednesdays at 16:00 in U02-309; Lab on Tuesdays at 10:00 in ICT-404). NB! The labs will start in the 3rd week, i.e. on Feb 13!
Electives
ITI8580 Hybrid systems (Spring 2018: Lecture on Tuesdays at 14:00 in ICT-A1; Lab on Thursdays at 14:00 in ICT-401)
IAF0530] Dependability and fault tolerance (Spring 2018: Lecture on Tuesdays at 12:00 in ICT-315 and also Thursdays at 12:00 in ICT-315 on week 2,4,6,7,9,10; Lab on Thursdays at 10:45- 13.30 in ICT-315 on week 12-16)
IDY0203 Agent oriented modelling and multi-agent system (Spring 2018: Lecture on Wednesdays at 12:00 in U06A-229; Lab on Wednesdays at 14:00 in ICT-121,122)
ITS8040 Natural Language and Speech Processing - NEW course (Spring 2018: Lecture on Fridays at 14:00 in ICT-A1; Lab on Fridays at 16:00 in ICT-122)
Suggested courses that will count as electives
ITI8565 Machine learning
IEE1570 Cognitronics - course on building cyber-physical systems that work together with the human body.
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.
Electives
ITI8600 Methods of Knowledge Based Software Development - not available in Autumn Semester 2018, but instead is avaiable ITI0210 Foundations of Artiicial Intelligence and Machine Learning
IDU8520 Software-project
IAS0220 Robot guidance and software
Suggested courses that will count as electives
IDN0110 Data mining
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: [6] and also the following TTÜ faculty wide page: [7].
NB! You do not need to register to the practical training courses in TTÜ Õ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.
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 Assessment of internship. This signed supervisor form needs to be scanned and uploaded to the appropriate assignment in [8].
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 are listed in the course [9] 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 TUT Õ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: Juhan Ernits. The technical questions about how and where to upload to reports should go to Kristina Murtazin (kristina.murtazin (a) ttu.ee).
Thesis
When writing the thesis you should follow the TTÜ School of IT thesis formatting guidelines: [10]
Deadlines for defence in May/June 2018
- December 1, 2017: Thesis problem statement submission
- May 7, 2018: Thesis pdf-file submission in www.ained.ttu.ee page
- May 14, 2018: Bring one papercopy of the theses to Siiri Taveter in ICT-429 at 10-12 and 13-16.30 siiri.taveter@ttu.ee. Somebody else can also bring it, until you have signed the Author's Declaration page in the theses
- May 30, 2018: Thesis defence in ICT-411 Starts at 9:00 Schedule can be found here
Examples of Successful Theses in Software Engineering
- Mahmud MD Ashek Automatic Detection of Bladderwrack in Underwater Video Stream
- Ahmed Abdelhady Low cost gait capture during turning motion
- Khasanboy Akbarov A Self Service POS System Using RFID Authentication
Supervisors
- Jüri Vain
- Topic areas: mode-based planner synthesis for non-deterministic and distributed systems.
- Contact: juri.vain (a) ttu.ee
- Tanel Tammet
- Topic areas: automated theorem proving, logic based methods in network software
- Contact: tanel.tammet (a) ttu.ee
- Jaan Penjam
- Topic areas: programming language syntax and semantics, evolutionary algorithms, algebraic automata theory
- Contact: jaan (a) cs.ioc.ee
- 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) cs.ioc.ee
- Marko Kääramees
- Topic areas: formal methods, model-based testing of software, algorithms, system administration.
- Contact: marko.kaaramees (a) ttu.ee
- Sven Nõmm
- Topic areas: non-linear control systems, modelling, analysis, synthesis
- Contact: sven.nomm (a) ttu.ee
- 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) ttu.ee
- Gert Kanter
- Topic areas: robot testing, robot software based on ROS, control of robotic manipulators, software engineering in robotics.
- Contact: gert.kanter (a) ttu.ee
- Ago Luberg
- Topic areas: tourism recommender systems, software intensive systems.
- Contact: ago.luberg (a) ttu.ee
- Evelin Halling
- Topic areas: model-based testing, social robotics
- Contact: evelin.halling (a) ttu.ee
- 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) ttu.ee
- Topic areas: software testing, e.g.
- Jaagup Irve
- Topic area: Systems level software, user interfaces
- Contact: jaagup.irve (a) ttu.ee
- Leonidas Tsiopoulos
- Contact: leonidas.tsiopoulos (a) ttu.ee
- 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 [[11]].
If you still could not find a suitable topic, please contact prof. Jüri Vain (juri.vain (a) ttu.ee) or Juhan Ernits (juhan.ernits (a) ttu.ee) for further information.