TU Darmstadt, Computer Science Master’s with a focus on Machine Learning

by Magdalena Wache

This post is a compilation of information about the TU Darmstadt’s Computer Science program with a focus on machine learning. I hope it will be useful for people who are interested in doing a machine learning master’s and are deciding which university to apply for. It is part of a series of articles on different European master’s programs related to artificial intelligence and machine learning.

Caveat: While writing this post, I found out that the degree program requires a DSH-2 certificate in German (level C1 equivalent), or the completion of a German bachelor’s degree. This surprised me, because the AI-related courses are almost entirely in English, and it is possible to choose courses in English only. I wrote to the university to ask if I had misunderstood something, but they confirmed the certificate is necessary. Therefore, the TU Darmstadt’s CS master’s program is only an option for you if you speak German or intend to learn enough German to pass a C1 exam.

Overview

In the TU Darmstadt Computer Science (CS) master’s degree you can choose the courses in a way that basically makes it a machine learning master’s. I am currently enrolled and will start my master’s thesis soon.

The degree is a two-year program with 120 ECTS, which consist of:

  • 66 ECTS of elective courses that you can choose relatively freely from a very large number of CS subjects. There are some restrictions that I will explain in further detail below. As there are a lot more than 66 ECTS of interesting ML/​AI-related courses, this part can be almost entirely about machine learning.

  • 24 ECTS of elective courses in a minor (In my case: Mathematical Logic)

  • 30 ECTS for the master’s thesis

This means there are no mandatory courses and you have a lot of choices.

Darmstadt is not as well-known as Amsterdam, Oxford, Cambridge, etc., but its academic output seems quite presentable. If you filter for publications in AI and ML, the TU Darmstadt ranks 9th in Europe on CSRankings. However, CSRankings considers only the publication count — not the citations, etc. — so I’m not sure how significant this rank is.

Getting in

In order to get into the TU Darmstadt CS master’s degree program, you will need to have completed a bachelor’s degree that is “similar enough” to the CS bachelor’s degree at the TU Darmstadt. This means your studies addressed the core topics taught at the TU Darmstadt. If you are missing only a few topics (less than 30 ECTS), you can still get in and do the missing credits at the TU Darmstadt. You have one year to complete these requirement courses. I have a bachelor’s degree in electrical engineering that contained some computer science classes and had to do 30 ECTS of requirement courses. These courses seemed useful to me and I did not perceive them as particularly burdensome.

I do not know the acceptance rates, but I think if you have a CS bachelor’s, you will probably get in, although in most cases I know of, people from other universities had to do 10-20 ECTS of requirement courses.

For further details on the requirements, check the examination regulation (Section 1.2.1.2ff), and talk to the Examination Office.

Teaching and Courses

It is common to do ~5 courses (~6 ECTS each) in one semester. You can do courses in whatever order you want (although the courses do have recommendations for prerequisites). A course typically consists of lectures, practice sessions, and projects during the semester — and at the end of the semester, there is an exam on which you will be graded. In most courses, you can do a project to improve your grade. Some people who are very motivated even published papers out of these projects.

The exam period is rather long (~2 months each semester). That has the advantage of having less time pressure. On the other hand, you also get less vacation. Except for the exams, there are very few deadlines, so you can structure your learning very freely. However, the downside of this absence of deadlines is that you have to be very self-organized.

In my opinion, the fact that I can organize my studies with so few restrictions is one of the main advantages of the TU Darmstadt.

Parts of the Program and Course Choice Regulations

This is not official information on the regulations, just my informal summary. Check the TU Darmstadt website on the program for more reliable information.

As described above, the program consists of a master’s thesis, courses in a minor, and courses from all over computer science (visualized in this info sheet). Here is some more detailed information on these parts:

Computer Science Electives

In the CS Electives bucket, you take 66 ECTS of courses that you can choose relatively freely from a very large number of CS subjects. There were a lot more courses that I found interesting than were required for my degree. For an impression of the kind of courses offered, see the appendix, where I describe some courses in more detail.

Out of these 66 ECTS of courses:

  • A minimum of 12 ECTS and a maximum of 21 ECTS have to be seminars and projects.

    • In a seminar (3 ECTS) you usually write a literature review on a specific topic and give a presentation about it.

    • In a project (6-9 ECTS) you focus on implementing a practical project. Often you work in groups.

    • You have to do at least one project and at least one seminar.

  • The rest (45-54 ECTS) have to be chosen from the CS Electives course catalog.

    • The CS Electives course catalog is shared between the bachelor’s and the master’s degree, so there will be both graduate and advanced undergraduate students doing these courses.

Minor

You have to choose a minor and take 24 ECTS in that area. As a minor, you can choose e.g. Mathematical Logic, Optimization, Numerics, Stochastics, Physics, Entrepreneurship, Economics & Law, Philosophy, … (full list of possible minors). The courses you take in this area are often from other departments. For instance, in the Mathematical Logic minor, you will take courses from the math department.

Master’s thesis

The master’s thesis is worth 30 ECTS and takes 6 months to complete. I think it is moderately common to write up your master’s thesis into a paper. I also know students who already published a paper out of their bachelor thesis, but this is less common.

Research

At the TU Darmstadt, there is research on Deep Learning, Reinforcement Learning, Natural Language Processing, Computer Vision, Cognitive Science, Databases and Learning, Data Mining, and Robotics. (non-exhaustive list). There is no faculty that focuses explicitly on AI Safety — just occasionally individual theses that go in that direction.

I believe that the amount of research in the field of AI will increase further because there is a lot of funding for AI at the TU Darmstadt. For example, this year the Hesse Center for AI was founded, which has its main base at the TU Darmstadt. This comes with 38 million euros of funding over the next five years. The TU Darmstadt has also recently been appointed an ELLIS Unit, and since 2019 it has a computing cluster of 3 NVIDIA DGX-2 computers. As a student, you can request access to the cluster if you are doing a university project that takes a lot of computing power.

Other Programs at the TU Darmstadt

There are two other programs at the TU Darmstadt that I think will be interesting to people with an interest in AI:

  • Autonomous Systems master’s degree

    • I decided against this degree program because the choice of courses was not as free as in the CS master’s. If the courses in this degree are what you would have chosen anyway, then this program is for you.

    • As in CS, you need a Level C1 certificate in German or to have completed a German-language bachelor’s.

  • Cognitive Science master’s degree

    • This program is about modeling the human mind as an information processing system.

    • Similar to the requirements for the CS master’s, you will need a bachelor’s degree in Cognitive Science or a related subject that is “similar enough” to the Cognitive Science bachelor’s at the TU Darmstadt.

    • It is offered completely in English. You will need a C1 certificate in English or to have completed an English-language bachelor’s.

Finances

As in most universities in Germany, there is no tuition fee, only a semester fee of about 270 € per semester. It includes a season ticket for public transport. A room in a shared flat costs about 300-500 € per month. There are quite a few scholarships available. It is worth checking out scholarship databases like the Stipendienlotse or the DAAD Database. It is common that faculties offer paid student assistant jobs. I think this is a good option to get to know a faculty and earn some money along the way. Often these jobs are not advertised, so it is worth being proactive and asking faculty members if they know of such opportunities.

Life in Darmstadt and at the TU Darmstadt

Darmstadt is a small university city. It has 150,000 inhabitants, and the TU Darmstadt has 25,000 students, so many of the inhabitants are students. The university offers many sports courses (including really niche sports such as Quidditch or Disc Golf) — most of them free of charge. There are also language courses for 20-25 languages. I used these opportunities quite extensively by, e.g., trying out different sports and learning to speak Chinese.

You can also participate in student-organized university groups. For example, I organize the Effective Altruism Darmstadt group that has regular meetings, with currently between 5-14 people attending.

The city life is probably not as exciting as in bigger cities, but there are way more activities and events than I have time to do, so I don’t feel like this is a bottleneck.

Decision Guide

I think the TU Darmstadt is a good option for you if you

  • think having a free choice of courses from a very large number of courses is very important.

  • are very self-organized and don’t need frequent deadlines to stay motivated.

  • have a background in CS and/​or are willing to do extra work by taking requirement classes to get in.

  • don’t want to pay a high tuition fee.

I think there are better options than the TU Darmstadt if you

  • don’t speak (or intend to learn) enough German to pass a C1 exam.

  • want to optimize for prestige. The TU Darmstadt is less well-known than Oxford, Cambridge, Amsterdam, etc.

  • enjoy living in big cities.

Thanks to Leon Lang, Max Räuker and Rhys Southan for proofreading and providing helpful comments!

If you have any questions, feel free to drop me an email at magdalena.wache@ea-darmstadt.de.

Appendix: Courses

This list of courses is not comprehensive. I think it is quite probable that there are courses that you would find interesting, but I which did not list here. A full course list with descriptions can be found in the Module Handbook.

Courses I took

  • Courses I would count as “core AI”

    • Introduction to AI: Covering mostly the Problem Solving and Reasoning with Uncertain Knowledge parts in Russel and Norvig’s Artificial Intelligence: A Modern Approach.

    • Statistical Machine Learning: Covering almost all topics from Bishop’s Pattern Recognition and Machine Learning. As this is a lot of material, I felt there was not enough time to dig into the substance and really understand the underlying mathematics. However, I think this course is very valuable as an overview of different topics.

    • Deep Learning Methods & Architectures, closely following the Stanford course CS231n on Convolutional Neural Networks. Students watched the Stanford lecture videos at home and the lectures were dedicated to answering the student’s questions. This was one of my favorite classes.

    • Probabilistic Graphical Models: Covers Knowledge Representation, Inference, and Learning in Graphical Models, especially in Bayes Nets and in Markov Random Fields.

    • Statistical Relational AI: Combines Logic and Probabilistic Graphical Models to Statistical Relational Models, such as Markov Logic Networks. It covers Inference and Learning in these models, and we did Logic Programming in Prolog and Problog.

    • Practical Course AI: We implemented a version of AlphaGo that learned to play Bughouse Chess in a group of five people.

  • More general courses I took

    • Ethics in Natural Language Processing: Addresses ethical issues that appear in NLP, but are not restricted to NLP: Algorithmic Bias, Privacy, Hate Speech, Dual Use, etc. I really liked this course, because it was more technical than I would have expected and illustrated some ethical issues that I had not thought about before.

    • Foundations of Language Technology: Covers a lot of NLP basics.

    • IT Security: Basics of IT Security. Although this course is not in my core interest area, I think having some general knowledge of IT Security is very useful and I found the course very valuable to get an overview.

    • Meta Science: Seminar that was basically about different ways that science can go wrong.

  • Courses for the minor in Mathematical Logic: I think choosing this minor was really valuable for becoming comfortable with mathematical notation and proofs.

Other Interesting Courses

Courses that I would have attended if they had been offered in semesters that fit better with my overall study plan, or if I’d had more time.