Master's program in Computer Science with specialization in Data Science & Engineering, Visual Computing or Distributed Computing

In the more research-oriented Master of Science-program in Computer Science, which is taught in English, students expand and focus their subject-specific and interdisciplinary competencies from a previous Bachelor's program. The program allows specialization in Data Science & Engineering, Visual Computing OR Distributed Computing. It is therefore aimed at students who wish to become specialists in these fields and are more likely to pursue an international career.


  • Teaching language: English
  • Scope: 120 credit points over four semesters (regular program duration)
  • Admission: Applicants need an adequate Bachelor of Science degree (180 CP) in computer science or related subjects.
  • Language requirement: Applicants must provide proof of their English skills: UNIcert level III, TOEFL test (Paper 550, CBT 213, iBT 95), IELTS 7.0, CEFR C1 or equivalent.
  • Start: Winter semester recommended, Summer semester possible
  • Application: Summer term: 01.12.-15.01. | Winter term: 01.06.-15.07. | Current deadline dates | Early application recommended!
  • Individual focus through choice of one specialization area: Data Science & Engineering, Visual Computing OR Complex Networked Systems

The program is divided into:

  • core courses: Software & Hardware (practical, technical and applied Computer Science) as well as Theory (theoretical Computer Science)
  • specialization: students choose one specialization. Currently, the choices include Data Science and Engineering, Distributed Computing as well as Visual Computing. The specialisation also includes seminars, labs and practical labs in teaching.
  • general education, which enables interdisciplinary knowledge from the entire range of courses offered by all departments of the TU Darmstadt
  • Master thesis

Below you will find the exemplary course of studies. More detailed information on study and examination plans can be found under “Regulations” at the bottom of the page. An overview on offered courses can be found in the module handbook (opens in new tab) .

Course of studies of the degree programme M.Sc. Computer Science. The module overview is an abbreviated, easy-to-read version of the official course schedule in the examination regulation, to be found in the regulations of TU Darmstadt.
Course of studies of the degree programme M.Sc. Computer Science. The module overview is an abbreviated, easy-to-read version of the official course schedule in the examination regulation, to be found in the regulations of TU Darmstadt.

In this specialization, students cover the entire spectrum from the theoretical foundations of data science to the implementation and coherent engineering of data-centric systems.

The courses offered in this specialization are divided into the following areas:

  • Foundations of Data Science
  • Data Science Engineering & Systems
  • Data Science Applications


The Data Science & Engineering specialization differs fundamentally from the broader Master's in Artificial Intelligence and Machine Learning. It only addresses machine learning for the development of data-driven systems.

Courses from the core areas of artificial intelligence such as computer vision, NLP, planning or robotics are NOT part of the curriculum – instead, a stronger focus is placed on software engineering.

This specialization is aimed at students who want in-depth training in the design and programming of distributed/parallel systems, as well as the theory and practice of the underlying communication and coordination mechanisms.

The specialization spans topics related to software engineering, computer architecture, and data science, since data-intensive systems are typically also distributed.

The courses offered in the specialization are divided into the following areas:

  • Computer Networks and Distributed Systems
  • Data-Intensive Systems and Heterogeneous Hardware
  • System Modeling and Engineering

Visual Computing addresses the entire spectrum of visual data processing – in particular computer graphics, computer vision and related areas (such as digital libraries, machine learning in Visual Computing, virtual and augmented reality, biometrics, geometry processing, information visualization).

The courses offered in the specialization are divided into the following areas:

  • Computer Graphics,
  • Computer Vision & Machine Learning,
  • Integrated Methods of Vision & Graphics.

This specialization is complemented by other courses in computer science and other departments as well as seminars, internships/project internships and practical training in teaching.

The admission requirement for the Master's degree program Computer Science (M.Sc.) is the completion of a degree program that provides competences amounting to at least 180 credit points (CP). Of these, at least 60 CP must not be significantly different from the entry-level skills acquired in the Bachelor's program in Computer Science (B.Sc.) at the TU Darmstadt (comparable program, see section “Formal requirements”).

Formal Entrance Examination

The entry-level skills are proven by the certificate of the first degree and the Diploma Supplement or comparable documents submitted with the application.

Material Entrance Examination

If the entry-level skills could not be clearly clarified in this way, a written examination will be conducted.

Admission with remedial coursework

If, after the entrance examination, it is found that the applicant lacks entry-level skills that can be compensated for by making up achievements in the amount of no more than 30 CP, admission can be made subject to remedial coursework. This must be completed within the first two semesters. Which modules or subject examinations are chosen as remedial coursework and by when they must be completed will be listed in the admission notification.

Usual requirements for all study programs

In addition, the usual requirements for all study programs apply: in particular, a timely application with complete documents (or documents submitted later within a deadline) and – after admission by the TU Darmstadt – timely transfer of the semester fee.

The entry-level skills described below are essential for the successful completion of the M.Sc. Computer Science. They are a selection of the most important competences taught in the reference degree program B.Sc. Informatik at TU Darmstadt and thus also provide the essential prerequisites for the successful continuation of studies in a master's program that builds on it.

Within the minimum of 180 credit points (CP) from their previous degree, applicants for admission to the M.Sc. Computer Science must provide evidence of entry-level skills from the reference program totalling at least 60 CP.

Specific requirements

The following describes in detail the expected professional entry competencies for the M.Sc. Computer Science.

Applicants should be able to use mathematical notations and methods as a foundation for computer science concepts, especially for formal modeling and verification of software and hardware systems.

Courses in which these entry-level skills are taught in the reference program at TU Darmstadt are Automata, Formal Languages and Decidability; Modeling, Specification and Semantics; Propositional and Predicate Logic.

Applicants should be able

  • to select independently from a problem description the standard algorithms and data structures necessary for the solution according to the functional and non-functional requirements, and/or to construct and assess new algorithms and data structures for the problem solution on the basis of known strategies, if necessary with consideration of parallelism.
  • to combine the individual components of a programming language independently and without analogous example in the context of a programming task to an overall solution.
  • to solve programming tasks in different, also parallel, programming languages, which follow different paradigms, have different application areas and are located on the whole range of abstraction levels.
  • to ensure the quality of the created implementations through formalized testing procedures and design methods.
  • to apply the aforementioned knowledge in practically relevant areas of computer science themselves. In doing so, non-functional aspects, in particular the security of the IT systems created, should also be taken into account.

The competencies in practically relevant areas of computer science are acquired in the Bachelor's program in Computer Science at the TU Darmstadt in the courses: Algorithms and Data Structures; Computer Networks and Distributed Systems; Computer System Security; Formal Methods in Software Design; Functional and Object-Oriented Programming Concepts; Information Management; Introduction to Artificial Intelligence; Introduction to Compiler Construction; Operating Systems; Parallel Programming; Probabilistic Methods of Computer Science; Scientific Computing; Software Engineering; Visual Computing.

Candidates should have the ability to

  • independently combine the individual design principles and basic elements of digital circuits, as introduced separately one after the other in the lectures, into an overall solution within the framework of a hardware design task without using an analogue example.
  • solve design tasks at different levels of abstraction and from different application areas by means of structured design methods in different description languages and using a spectrum of design tools and evaluate them with regard to suitable quality measures.
  • understand the interaction of computer, processor and microarchitectures and make appropriate implementation decisions from this for the system and application software level.

Courses in which these entry-level skills are taught in the reference program at TU Darmstadt are Digital Design and Computer Organisation.

Notes about the application process

Please note that the application process has several required steps:

  • You first need to create an account at the TUCaN application portal.
  • Follow the steps to select your desired study program and to indicate your prior studies.
  • Make sure you upload your ID (passport or similar).
  • Note that for international applications, you will need to submit your application once it is complete. Do this as soon as you are done, as the next step depends on it!
  • Once the application has been submitted online – but not before -, the required attachments (“Annex Computer Science” and “Annex Computer Science study courses”) will become available. Click on the “Print link”, or on the “Print” link under “My applications”, and then on “Application or Information”.
  • Fill out the forms appropriately.
  • Note that the application materials need to be submitted “by post” (as it probably says in the application portal). This means that a hard copy has to be sent by a postal or courier service to the address given on the application form. It is neither possible nor sufficient to submit these files electronically!

In this research-oriented Master's program in English, students expand and focus their subject-specific and interdisciplinary competences from a previous Bachelor's program.

Upon completion of the program, graduates have specialised in one of the offered specialisations in terms of content and subject matter. Detailed information on this can be found in the program regulations.

In addition, graduates – irrespective of the chosen specialisation – are able to:

  • apply the acquired competences in new and unfamiliar situations with incomplete information and think in systemic contexts,
  • solve tasks and problems with a high level of abstraction and an eye for complex interrelationships,
  • communicate and present the results of their analyses or the elaborated solutions to different target groups, also in foreign languages,
  • to recognise future problems, technologies and scientific developments and to appropriately take them into account in their work,
  • organise and carry out complex projects efficiently and work in teams in a goal-oriented manner,

In addition, students have expanded their skills and experience in self-selected interdisciplinary areas within the framework of the General Education (Studium Generale).

In summary, the Master's program differs from the preceding Bachelor's program in Computer Science primarily in that the focus is on solving complex problems with incomplete information, which require greater ability to abstract and think in system interrelationships.

In addition, there is an increased ability to deal with current research literature as well as the ability to work scientifically in a self-chosen specialisation and to independently solve current problems in practice.