Masters of Software Engineering The Masters of Software Engineering is an English-taught program delivered jointly by the two largest Universities in Estonia: University of Tartu (UT) and Tallinn University of Technology (TUT). Upon successful completion of the program, students will receive a joint degree signed by both universities. The program is meant for future software engineering professionals who wish to acquire a broad range of software engineering skills, ranging from how to write reliable and maintainable software, up to how to manage software engineering teams, how to set up quality management processes and how to make compelling business cases for software projects. In addition to providing advanced software engineering and management skills, the program allows students to specialize in one of two major application domains: enterprise systems and embedded real-time systems. The Master’s of Software Engineering starts with a core module where you will acquire general software engineering skills. Students then choose one of two specialization modules: enterprise software (delivered by University of Tartu) or embedded & real-time software (delivered by Tallinn University of Technology). A range of elective and free-choice courses allows students to further specialize or to broaden their horizons, depending on their interests and career path. During the second year, students put the acquired skills into use, first via an internship or an entrepreneurship project, and secondly via a research or engineering project leading to the defense of a Master’s thesis. Professional practice and research represent almost half of the curriculum’s volume. All courses in the curriculum emphasize teamwork. Throughout their studies, students will complete mini-projects and assignments in teams. During preparation of the Master’s thesis, students will immerse themselves in one of the research groups at University of Tartu or Tallinn University of Technology and work together with renowned international researchers in the field of software engineering. With over a quarter of students coming from all corners of the world, and a third of international staff members, the Master’s of software engineering provides a cosmopolitan environment, allowing students to develop international connections that often prove valuable in future stages of their career. FINLAND Tallinn ESTONIA Tartu RUSSIA SWEDEN LATVIA software.cs.ut.ee LITHUANIA The curriculum consists of the following components: 2. SPECIALIZATION MODULE (24 ECTS) 4. ELECTIVE COURSES (18 ECTS) To be chosen among two available specializations: The elective courses can be chosen from all of the courses listed below either in Tallinn or Tartu: Option 1: Enterprise software engineering – taught at UT The compulsory courses in this module are: • Software Testing • Enterprise System Integration (6 ECTS) • Advanced Algorithmics 1. CORE MODULE (24 ECTS) Advanced Programming (taught at TUT) Systems Modelling (taught at UT) The objective of this course is to expose students to advanced programming methods and practices that allow software developers to produce well-structured, maintainable and testable code. The course puts an emphasis on functional programming concepts and shows how these concepts can help programmers to solve challenging programming problems in an elegant way. The course has a practical component where students apply functional programming techniques to realworld business and scientific computing tasks. • Business Process Management (6 ECTS) A student who has successfully completed this course: This course aims at imparting in-depth knowledge of softwareintensive systems modelling. The course will also impart methodological skills for using models to plan, build and maintain large-scale software systems. On successful completion, students should be able to: 1. Demonstrate advanced mastery of standard system modelling techniques. 2. Understand major issues that arise in the process of translating fuzzy business requirements into a model that is precise enough to be used for implementing a software system addressing such requirements. 3. Understand how to use models to drive the development and maintenance of large-scale software systems. This course will impart in-depth knowledge of software-intensive systems modelling techniques. The practice sessions will develop skills required by system analysts and software architects. Software Economics (taught at UT) This course will provide students an overview of economic aspects surrounding software development, packaging and distribution activities. The course will consider economic aspects of software development projects as well as economic drivers and business models of companies involved in software development or commercialisation of software. On successful completion of this course, students will able to: 1. Apply well-known techniques to estimate the effort required by a software development project. 2. Develop and assess a business case for a software development project. 3. Apply economic concepts to assess the value of existing software and to analyse design decisions in software development projects. • Has a clear understanding of functional programming concepts that are applicable in any programming language. • Can write elegant and well-structured code. • Can test functional programs. • Is familiar with the application domains where functional programming is a natural fit and can decide when to use functional programming • Can write programs using an asynchronous or reactive approach. • Can write data-parallel programs. Software Quality and Standards (taught at TUT) The objective of this course is to provide an overview of the problems and methods of software verification and validation and quality management. The course introduces different testing methods and principles of testing management, and gives an overview of planning, performing, and documentation of testing. On successful completion of this course, students: 1. Know the problems and methods of software verification and validation and are able to apply the methods. 2. Know the major testing methods and principles of testing management. • User Interface Design • Data Mining (6 ECTS) • Software Engineering Management • Secure Programming Techniques • Seminar on Enterprise Software (6 ECTS) • Text Algorithms Option 2: Embedded real-time software engineering – taught at TUT • Principles of Secure Software Design The compulsory courses in this module are: • Schedulability Analysis Using Formal Methods • Foundations of Embedded Real-Time Systems (6 ECTS) • Agent-Oriented Modelling • Real-time Operating Systems and Systems Programming (6 ECTS) • Requirements Engineering • Formal Methods in Embedded Real-Time Systems Development (6 ECTS) • Real-Time Software Engineering (6 ECTS) • Social Informatics • System Reliability and Fault-Tolerance 5. FREE-CHOICE COURSES (6 ECTS) The free-choice courses can be chosen from any of the courses taught either in Tallinn or Tartu. 3. PRACTICE MODULE (18 ECTS) The practice module provides an opportunity to apply the acquired knowledge in practice. Normally, the practice module takes the form of an internship of 3 months in a software company or in the IT department of an organization. Alternatively, students may combine a shorter internship (2 months) with a software project or teaching practice. Each spring a Career Day takes place at the Institute of Computer Science at UT. With more than 30 companies represented at this event, this is an excellent opportunity to see the offers from IT companies and to land an internship. See www.cs.ut.ee/en/careerday for more information. 6. MASTER’S THESIS (30 ECTS) Information about thesis and defence can be found at http://www.cs.utee/en/en/studies/thesis TOTAL: 120 ECTS Additional information: University of Tartu www.ut.ee Institute of Computer Science at UT www.cs.ut.ee/en International Student Service at UT www.ut.ee/studies Master’s of Software Engineering software.cs.ut.ee Addresses for inquiries: Prof. Marlon Dumas, Program director Institute of Computer Science University of Tartu J. Liivi 2, Tartu, Estonia marlon.dumas@ut. ee 4. Explain the relative advantages and scope of applicability of different business models of software companies. 3. Understand the principles, methods, and frameworks of IT quality management, standardization, and auditing. 5. Explain the concepts, theories, and best practices associated with international business models and business partnerships. 4. Know how to design, perform, and document tests. Institute of Computer Science University of Tartu The course has been divided into two parts. The first part (approximately 60% of the volume) addresses the methods and management of software verification and validation: testing (the principles of software testing, white box, functional, other methods), static methods (inspections, reviews and walkthroughs, program correctness proving), and the frameworks for testing management. The second part (approximately 40% of the volume) provides an overview of the software quality management concepts and standards: the principles of quality management and standardization, software process quality, and software quality criteria and metrics. The prerequisite for this course is familiarity with basic concepts of software engineering and ability to program in at least one programming language. J. Liivi 2., Tartu, Estonia eva.pruusapuu@ut.ee 6. Compare business models centered on software products with business models based on services, as well as hybrid models. 7. Compare alternative distribution channels for a given software product or service in an international market. Topics covered by the course include: cost estimation of software projects; business cases for software projects; software valuation; value-driven software design; economic drivers of buy-versus-build and software outsourcing decisions; business models of software companies; international software product distribution channels; electronic software distribution; business partnerships involving software companies. Eva Pruusapuu, Project assistant software.cs.ut.ee ESTONIA Population: 1.3 million Capital: Tallinn Official language: Estonian Area: 45 227 km² • Member of European Union and NATO • Just a short flight from London, Paris, Moscow • Country of 1500 islands and 1000 lakes UNIVERSITY OF TARTU Founded: 1632 9 faculties, 4 colleges Students: 17 000 International students: 800 • 9 international Master’s degree programs • About 100 doctoral degrees awarded annually • In world’s top 1% citations in Environment/Ecology, Clinical Medicine, Plant and Animal Science • WHY ESTONIA, WHY TARTU: Technology-driven innovation. • A pioneer in electronic identity and electronic voting. • Safe, fast and flexible exchange of private and state information. • Vigorously adopted mobile technology, online banking and electronic government services. • Home to internationally successful IT innovations. • A groundswell of IT ventures and start-ups with enviable potential. • Tartu is a student town – 20% of the population are students. • Modern residence halls, affordable accommodation. • Free wireless internet almost everywhere: universities, parks, caffees, libraries and sometimes even in forests. • Home to UT, ranked in the top 3% in the world (THES 2011-12 World University Rankings). • International students rate Estonia as the #1 place to stay (Erasmus Student Network Survey). / tartuuniversity / / tartuuniversity / / tartuuniversity / post us your question: www.ut.ee/ask