# University of Amsterdam (UvA), Master's Artificial Intelligence

This article gives an overview of the master's program in Artificial Intelligence at the University of Amsterdam (UvA). It is meant to be both useful for people who want to decide where to study, as well as for UvA students who want to get information about how to make the most of their experience – including which courses are good and which research opportunities exist.

This article is part of a [series of articles](https://www.lesswrong.com/posts/3aHESQA4xdP6ydefN/european-master-s-programs-in-machine-learning-artificial) on different European master's programs related to artificial intelligence and machine learning.

Earlier versions of the post received feedback from Henning Bartsch, Remmelt Ellen, Micha de Groot, Benjamin Kolb, Evangelos Kanoulas, Dmitrii Krasheninnikov, Linda Petrini, Attila Szabó, and Oskar van der Wal. All mistakes and opinions are mine.

General note: The master’s program changed significantly in the last 3 years. I’m putting in the information of the newest edition, but cannot guarantee that the information is still correct when you apply.

**About myself**
================

I have a background in mostly pure mathematics, where I did a master’s degree at the University of Bonn before. After getting interested in the social movement of Effective Altruism, I tried out Software Engineering and Data Analytics and then began studying AI at the University of Amsterdam (not the same as the Vrije Universiteit Amsterdam). That was since I felt I want to go closer to research again, but in a field that’s more relevant to the planet than pure maths. I did my master’s in AI at the UvA from September 2018 to July 2020. In September 2020 I started a PhD in the intersection of Information Theory, Causality, and Deep Learning at the UvA in collaboration with the Computational Science Lab (CSL) and Amsterdam Machine Learning Lab (AMLab). If you have any questions, please contact me [by email](mailto:l.lang@uva.nl).

**The AI master’s at the UvA – An Overview**
============================================

The [](https://www.uva.nl/en/programmes/masters/artificial-intelligence/artificial-intelligence.html) master's program in AI at the [University of Amsterdam](https://www.uva.nl/en/programmes/masters/artificial-intelligence/artificial-intelligence.html) is a research-oriented 2 years master program. “Research-oriented” means that a significant proportion of the degree consists of the students doing research, but usually still less than 50%, with the remainder being coursework. Graduation requires the students to collect 120 Credit Points (CP). Most courses (lectures/projects/seminars) are awarded 6CP upon completion, and a research thesis in the end is rewarded with 48CP. In continental Europe, master’s programs seem to be the requirement to start a PhD at most Universities, and this program tries to be a useful preparation both for a scientific and industry career, depending on the interests of the students.

**Application Process and other organizational matters**
--------------------------------------------------------

### Deadlines

*   If you are from the EU, then you [apply](https://www.uva.nl/en/programmes/masters/artificial-intelligence/application-and-admission/application-and-admission.html#Students-with-Dutch-prior-education) until April 31 of the year you want to start, i.e. 4 months before the start of the program.
*   If you are from overseas, you apply until January 31.
*   If you want to apply for a [scholarship](https://www.uva.nl/en/programmes/masters/artificial-intelligence/scholarships/scholarships.html), then you usually need to apply earlier.

### Admission Criteria and Competition

[Here](https://www.uva.nl/en/programmes/masters/artificial-intelligence/application-and-admission/dutch-prior-education/dutch-prior-education-foldout-menu.html#2-Check-entry-requirements) you can find the admission criteria. The basic requirements are relatively low: You need some, but not much, prior knowledge in computer science, programming, calculus, linear algebra, probability theory and statistics, and meaningful motivation to do a master’s in AI. The more you know, the easier it is to do the master’s obviously, and a lack of mathematical ability seems to be the most common bottleneck.

On the website, you can find more ranking criteria that finally determine who gets accepted. The ranking criteria are roughly what you would expect.

The program accepts a maximum number of 150 students to the program. Prior to the last year, all students who fulfilled the mandatory criteria were also accepted, but this changed significantly due to the exponential increase in interest in AI. In the 2019/2020 academic year, only 30% of students who fulfilled the mandatory criteria were accepted. I do not know about the situation in the 2020/21 academic year.

### Tuition Fees

*   Roughly 2150€ per year for most European students.
*   Roughly 15,500€, so considerably more, needs to be paid for most students who are not from the EU, or for students who did a degree in the Netherlands before and are doing a degree at the same level again.

### Housing

*   There is a housing service that helps students to find housing for one year. Then they usually have to move out. Some longer contracts exist in this service, but it is not the norm.
*   In general, the housing market in Amsterdam is difficult. I think many students have good experience with large housing corporations like OurCampus Diemen, since one can relatively deterministically get a spot there – however, often only after a waiting period of half a year or even longer. It is therefore recommended to get on waiting lists as soon as you know you want to study in Amsterdam.
*   Many students choose to live in other cities than Amsterdam, due to the housing situation and then go to the UvA by train. I have the impression that international students choose this option less often than Dutch students.
*   [Rent allowance](https://www.iamexpat.nl/expat-info/allowances-benefits-netherlands/rent-allowance-huurtoeslag) may apply to some people and make living in Amsterdam cheaper, usually, if you live alone, are not too young, don’t earn too much money, and have an apartment which is not too expensive.

**The temporal structure of the program**
-----------------------------------------

The program starts in September. There are overall 40 working weeks per year, and 12 weeks of holidays: 2 around Christmas and 10 in the summer.

The 40 weeks are distributed across 6 so-called "periods", of which four are eight weeks long and two are four weeks long each. In an eight-week-period, a student usually has two lecture series which are taught in the first seven weeks, with an exam in the eighth week (with some exceptional lecture series extending over two periods). In a four-week-period, students have only one lecture series or project in a more intense format.

In the second year, students are encouraged to start their thesis work with an already chosen supervisor and a signed contract in November. The expectation is that the thesis can be finished within 8 months, i.e. until June of the second year. It is usually not a problem to take longer. However, this means the student has to pay the tuition fees for the additional months, which especially for overseas students is a significant amount.

**Grading System**
------------------

### Scale

Grading happens on a scale from 1 to 10, where a grade below 5.5 generally is a fail. The grade is often roughly equivalent to the percentage of points obtained in tests and homework. A Dutch 9.0 is in my experience roughly comparable to a German 1.3 or even 1.0. Generally, the dutch grading scale is viewed as demanding, and [grades above 8.0 often considered to be good or very good grades](https://en.wikipedia.org/wiki/Academic_grading_in_the_Netherlands).

### Cum Laude

The highest honor for a degree in the Netherlands is "Cum Laude" (not “Summa Cum Laude” as one might expect coming from Germany).

There are several rules for receiving Cum Laude, with the most important being that the grade average should be more than 8.0, no grade below 7.5, and the thesis at least 8.0. An 8.0 in courses requires work but mostly is doable, whereas for the thesis this is quite an achievement: I saw several thesis defenses with publishable (or already published!) work receiving an 8.0, and this grade is generally thought of as only attainable for conference-publishable work. Probably the most accurate information on what needs to be done to receive Cum Laude can be found somewhere [here](https://www.uva.nl/en/shared-content/studentensites/fnwi/iw-gedeelde-content/en/az/teaching-and-examination-regulations/teaching-and-examination-regulations.html).

**Courses**
-----------

As said, there are mostly three types of courses: lectures, seminars, and projects. Attendance is usually not mandatory, apart from seminars.

### Lectures

First seven weeks:

*   2*90 minutes lecture per week (usually recorded, but not always)
*   (1 or 2)*90 minutes exercise / laptop sessions with help / solutions for homework
*   Homework makes up the majority of the work. It’s a roughly equal mixture of theoretical and practical work
*   Programming: Mostly using Python and PyTorch
*   Homework is graded, resulting in 25-50% of the grade

Eighth week: Exam, usually 2 or 3 hours long.

### Seminars

See the section below on "Seminar combining symbolic and statistical methods in AI" for more details on a specific seminar (this was the only one I attended). In seminars, the students read contemporary work in a specific area, present on it, and work on reproducibility studies or on self-chosen research projects.

### Projects

Furthermore, there is the course [Project AI](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/74749), in which students can either do an industry internship or a project together with a researcher at the UvA. There is no structured process for finding projects to the best of my knowledge. If you find a project, it may allow you to publish – we managed to put a [workshop paper](https://www.aclweb.org/anthology/D19-6407/) out (which usually is considerably less valuable than a conference paper, so choose your project wisely!).

### Specific Courses

A list and description of courses for the 2020/21 academic year can be found [here](https://coursecatalogue.uva.nl/xmlpages/page/2020-2021-en/search-programme/programme/6269/238503). Note that there can be quite some changes to the courses and to what courses are obligatory, so when in doubt, consult the information on the website. A GitHub repository of a student with summaries and very detailed information about courses can be found [here.](https://github.com/phlippe/UvA_Summaries) Though note that there are some changes to the courses and not all this information may still be up-to-date.

**7 courses are obligatory** and cannot be chosen. Currently, the courses are:

*   [Computer Vision 1](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73102)
*   [Machine Learning 1](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73104)
*   [Natural Language Processing](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73106)
*   [Deep Learning](https://uvadlc.github.io/)
*   [Fairness, Accountability, Confidentiality, and Transparency in AI](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73565)
*   [Information Retrieval](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73100)
*   [Knowledge Representation and Reasoning](https://coursecatalogue.uva.nl/xmlpages/page/2020-2021-en/search-course/course/80282)

Additionally, students need to choose **3 constrained-choice** electives and **2 courses** which are either **constrained-choice or "free-electives"**. The free elective courses may or may not be related to AI, as long as the Examination Board approves. You can even choose courses from other universities, like the excellent [Information-Theoretic Learning](https://homepages.cwi.nl/~pdg/teaching/inflearn/index.html) course at Leiden University which I enjoyed doing. In the appendix, you find more detailed information and my opinion on the courses.

**Thesis**
----------

The biggest part of the whole master's is writing a thesis in the end. The student receives 48 CP for it, which corresponds to roughly eight months of full-time work, i.e. 40% of the whole program.

### Changes to the thesis

When I started the program, the thesis was supposed to be only 36 CP, i.e. 30% of the program, but this has changed and I switched into the new regulations. The named reason for the change was that students took on average considerably more than the originally intended 6 months in order to finish their graduation project. Then, so the story, they wanted to adapt to the reality and give more room for the thesis.

I can think of several more reasons for this change and assume they are also part of the truth, although they were not officially mentioned. The following is pure speculation:

*   Since the master's programs of the UvA and the Free University split, the program managers maybe feared they could not fill the remaining Credit Points with interesting enough courses. I'm not sure how strong this reason would be: Overall I think the UvA has enough good courses and could even increase freedom by having fewer courses mandatory, which would allow students to take more of the interesting courses which exist. Also, it seems to me that the UvA currently promotes many new Assistant Professors and Professors. I assume this will further increase the number of courses delivered. For example, a “Deep Learning 2” course is in the planning phase.
*   I could imagine that the longer thesis is part of changes with the goal to make the master program at UvA more research-oriented. This makes sense since recently Amsterdam has been appointed an [ELLIS unit](https://ivi.fnwi.uva.nl/ellis/). Since ELLIS explicitly has the goal of keeping AI talent in Europe, it seems reasonable to keep up with strong programs in Great Britain and North America that bring students to the forefront of research. Otherwise, the strongest students will probably consistently go to other countries.

### Thesis selection process and types of theses

After a short, not necessarily representative, poll among students, it seems that roughly 55% of students do their theses at the university (including company-funded university labs) and roughly 45% at a company. Also, theses done at a company are judged based on scientific merit.

Roughly one month before the thesis starts, there was a big thesis fair with companies in which they presented their projects. The range of quality of the topics was really huge, with some being cutting-edge research problems that seemed more fundamental than many of the projects at the university itself, and others being more of the type "_Hey AI student, I have a data set, please do something with it_". Even though I did not end up at a company, my recommendation for AI students, even with the aim to do a PhD, is to at least consider the thesis fair and try to find the worthwhile opportunities among the projects.

Working at a company has the clear advantage that the student will usually also earn some money and can use the project as an opportunity to jump-start their working life. Note that some university labs also pay the students, although usually less than companies (I received 200€ from the QUVA Lab, and came with the cost of signing an NDA. This didn’t matter in the end, though). Other possibilities for earning money is to try to find a thesis at other institutions that pay their students like CWI, Mila,,that or CHAI in Berkeley (for all these, I know students who did their thesis there).

Projects at the UvA themselves are often not really advertised. There is a website with projects, and some researchers advertise their projects on their homepage. But overall my impression was that the students need to proactively reach out to researchers in order to find a project that fits.

### My own project

[My project](https://scripties.uba.uva.nl/search?id=716015) is in the area of [steerable](https://arxiv.org/abs/1612.08498) and [gauge equivariant CNNs](https://arxiv.org/abs/1902.04615). Gauge equivariant CNNs recently got some [coverage](https://www.quantamagazine.org/an-idea-from-physics-helps-ai-see-in-higher-dimensions-20200109/). It's awesome to work in such a promising research area. My thesis is entirely theoretical (which was not originally planned as such, but turned out to be the best choice given how it developed).

It was recently [accepted at ICLR](https://openreview.net/forum?id=ajOrOhQOsYx).

**Opportunities to do research**
--------------------------------

I don’t feel qualified to comment on the high-level strengths and weaknesses of current research at the UvA. Some impressive research that originated in Amsterdam – highly biased by what interests me personally – are the [variational autoencoder](https://arxiv.org/abs/1312.6114), [graph convolutional networks](https://arxiv.org/abs/1609.02907), and the research surrounding [gauge-equivariant convolutional networks](https://arxiv.org/abs/1902.04615). All of these were projects of PhD students supervised by Max Welling.

If you want to do research with one of the groups, the most natural courses for doing so are your 48CP master’s thesis or up to two 6CP [Projects](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/74749) (or instead one 12CP project if it is long). A third possibility is to be an [honours student.](https://student.uva.nl/ai/content/az/honours-programme-ai/honours-programme-ai.html) A fourth possibility is to be really ambitious in your project attached to a course. For example, projects in the new course in “[Fairness, Accountability, Confidentiality and Transparency](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73565)” or in the “[Seminar Combining Symbolic and Statistical Methods in AI](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73265)” have the chance of being (workshop)-publishable with extra work.

There are several research labs in Amsterdam that do research in machine learning and surrounding areas. Some have a large overlap – for example, the Amlab overlaps with both the Delta lab and the QUVA Lab, so don’t take them necessarily as _independent_ evidence for excellence. Additionally, I don’t have a good sense of the hierarchical structures of “labs”, “groups”, and “professors”, and so some of the information below may be confusing. **No guarantee for completeness!**

### Research at UvA Institutes

**[Part of the Informatics Institute (IvI)](https://ivi.uva.nl/):**

*   [Amlab](http://amlab.science.uva.nl/research/): Led by Max Welling. The main machine learning Lab at the University of Amsterdam. I’ll be partly employed there for my PhD.
*   [ILPS Lab](https://ilps.science.uva.nl/) \- Information and Language Processing Systems: Not sure who leads it. It includes Maarten de Rijke. “Research within the ILPS group is organized around three main themes: information retrieval, language technology and semistructured data.”
*   [INDE Lab](https://indelab.org/) \- Intelligent Data Engineering Lab: Led by Paul Groth.

**[Institute for Logic, Language and Computation](https://www.illc.uva.nl/Research/Programmes/Overview/):** As the name of the institute suggests, it conducts research on the intersections between [Logic&Language](http://www.illc.uva.nl/Research/Programmes/lola/), [Language&Computation](http://www.illc.uva.nl/Research/Programmes/laco/), and [Logic&Computation](http://www.illc.uva.nl/Research/Programmes/loco/). They have many groups which I do not all list and which may be interesting for AI students. An incomplete list of labs/groups:

*   [Computational Social Choice Group:](https://staff.science.uva.nl/u.endriss/group.php) Led by Ulle Endriss. Next to Computational Social Choice, this group is also interested in Multiagent Systems, Knowledge Representation, and AI in general. It belongs to the Logic&Computation track.
*   [Amsterdam Natural Language Understanding Lab](https://www.shutova.org/): Led by Ekaterina Shutova. She does research in “the area of natural language processing, with a specific focus on computational semantics and machine learning from linguistic and multimodal data”. The lab probably belongs to the Language&Computation track.
*   [i-Machine-Think Group](https://i-machine-think.github.io/): Led by Elia Bruni and Dieuwke Hupkes. This group is interested in “Compositionality, interpretability of neural networks, neural language models,and language emergence in referential games.” I did some research there in project AI. I assume this group can best be put into the Language&Computation track.

**[Mathematical Institute](https://kdvi.uva.nl/):** This is an institute on mathematics, and thus has only limited relation to artificial intelligence. However, in the track on stochastics, [Joris Mooij](https://staff.fnwi.uva.nl/j.m.mooij/) leads the project on mathematical statistics. He conducts research in causal discovery and inference and they have a [reading club](http://amlab.science.uva.nl/meetings/causality-reading-club/).

### Labs of the UvA with Industry Connection

*   [QUVA Lab:](https://ivi.fnwi.uva.nl/quva/research/) Led by Arnold Smeulders, Max Welling, Cees Snoek. This is a collaboration with Qualcomm AI research focused on Computer Vision, also including foundational research like Gauge Equivariant CNNs I mentioned before. This is where I did my master’s thesis.
*   [Delta Lab](https://ivi.fnwi.uva.nl/uvaboschdeltalab/research/): Led by Herke van Hoof, Arnold Smeulders, and Max Welling. It does fundamental research in deep learning in collaboration with Bosch.
*   [Atlas Lab](https://icai.ai/atlas-lab/): Led by Theo Gevers, Cees Snoek. An applied AI lab with applications for self-driving cars.
*   [AIM Lab](https://icai.ai/aim-lab/): Led by Cees Snoek, Marcel Worring, Ling Shao. Works on AI for medical image recognition.
*   [CAIL - Civil AI Lab](https://www.uva.nl/en/content/news/news/2020/07/municipality-vu-and-uva-open-lab-for-social-ai.html)
*   For more labs with industry connection, see [here](https://icai.ai/amsterdam/). This is a national innovation center and so does also have lots of research at other universities.

### Public Labs with no direct relation to the UvA

*   [Machine Learning Lab](https://www.cwi.nl/research/groups/machine-learning): Led by Peter Grünwald. This lab is mostly on more theoretical Machine Learning and is independent of the University of Amsterdam – it belongs to the CWI. Sander Bothe also seems to do work on biologically plausible deep learning.
*   [Intelligence and Autonomous Systems:](https://www.cwi.nl/research/groups/intelligent-and-autonomous-systems) Might be led by Eric Pauwels, but not sure. This group works a lot on multi-agent systems and maybe related things. It also belongs to CWI and is independent of the University of Amsterdam.
*   [Labs at the Vrije University Amsterdam:](https://www.cs.vu.nl/en/research/artificial-intelligence/index.aspx) This is another university, but collaboration is possible. They seem to have three main research groups:

*   [Social AI:](https://www.cs.vu.nl/en/research/artificial-intelligence/Social_AI_Group/index.aspx) Led by Koen Hindriks
*   [Computational Intelligence:](https://www.cs.vu.nl/en/research/artificial-intelligence/ci/index.aspx) Led by Guszti Eiben
*   [Knowledge Representation and Reasoning:](https://www.cs.vu.nl/en/research/artificial-intelligence/kr/index.aspx) Led by Frank van Harmelen.

### Other Labs

*   [Hybrid Intelligence Center](https://www.hybrid-intelligence-centre.nl/): Led by Frank van Harmelen from the Free University Amsterdam and Maarten de Rijke from UvA and more researchers from other universities. They seem to work on combining human and machine intelligence or making AI more compatible with the real world. This is a partnership between several (all?) dutch universities that work on AI.
*   [Google Brain Amsterdam](https://careers.google.com/jobs/results/123651225217311430-research-intern-2020/): Probably competitive. At least three researchers who previously worked at UvA, Rianne van den Berg, Thomas Kipf, and Thomas Mensink, are now researchers there.

**Should you study at the University of Amsterdam?**
====================================================

This whole section is my own opinion and does not necessarily reflect the opinions of other students. A summary of my perspective: I’m a student mostly interested in research and very theoretical topics. I was certainly not the typical student of this program.

I have basically not much of an idea about how well the UvA does compared to other top Universities in AI and ML. It seems to me that it is the university in the Netherlands with the broadest AI abilities and options. As mentioned before, it is also an [ELLIS unit](https://ivi.fnwi.uva.nl/ellis/) and there seems to be a lot of new funding (as judged from the many new labs and PhD openings this year). Other strong options in continental Europe (non-exhaustive!) are ETH Zürich and Tübingen University – I don’t have an opinion about whether these Universities are “better” or “worse” on average than Amsterdam, since I don’t know enough about these programs. Also, global judgments of this sort may be the wrong way to look at things, since all Universities have their own strengths and weaknesses, and so the more you know about what is _important to you_, the more your decision may differ from what would usually be suggested.

Thus, what I’m doing now is listing some things that I think is done well and not so well in Amsterdam, in the hopes that this might inform your decision. Below I then give a tentative decision guide for deciding whether you want to study in Amsterdam.

**Positive Aspects**
--------------------

*   Courses are usually recorded (this probably got even better in the pandemic. For example, the Machine Learning 1 course now has a [Youtube Channel](https://www.youtube.com/playlist?list=PL8FnQMH2k7jwWPPgZ7qbwcA2S5Z9ctZHz) that can also give you an impression).
*   It changed a lot in the last three years, and most of these changes are positive in my mind. Positive changes:

*   48CP thesis instead of 36CP thesis, allowing for more research experience.
*   Multi-agent Systems and Evolutionary Computing are removed from the mandatory courses and Deep Learning and “Fairness, Accountability, Confidentiality, and Transparency” are added. I found these two courses better than the two that were replaced.
*   Fewer midterm exams: At least in Machine Learning 1, there used to be a midterm exam. That was perceived as extremely stressful, and so fortunately this midterm exam does not exist anymore. There may have been similar changes. However, in the non-mandatory course on Machine Learning 2, midterm exams have been added again.
*   New good courses are popping up: The Fairness Course is new (and good, due to its technical focus), a new Causality Course will soon be installed (though this is a maths course and so not attractive for everyone), a Deep Learning 2 course is planned.

*   The courses on the – to me – most interesting topics are usually also the most well-done courses. So I think that Machine Learning 1 and 2, Deep Learning, Reinforcement Learning, Information Theory, “Fairness, ...” and Machine Learning Theory are all very good courses, among others. They provide challenging theoretical and practical homework that makes you learn a lot.
*   The master’s program provides plenty of opportunities to do research and has, in the final thesis project, a very large focus on actually producing publishable work: If you want to get a good grade (8 or higher) then you _need_ to strive for a publication.
*   I think that for ambitious students with a good background in maths and/or coding, there is enough time to do additional things next to the courses. For example, I did three extra courses and was two times a teaching assistant for a course, and co-led an [AI Safety Reading Group](https://www.meetup.com/Amsterdam-AI-Safety-Reading-Group/), and still completed the master’s within slightly less than two years. Note that for interested students, there are several reading groups by other students and researchers worth looking into.
*   There is lots of openness to do work outside of the university: I had no problems doing a course at Leiden University and using it for my master’s. There are strong industry collaborations for the master’s thesis. And it is also encouraged and possible to do your thesis abroad: I know students who did their theses at MILA in Montreal, at CHAI in Berkeley, and at the Max-Planck-Institute for Intelligent Systems in Tübingen.
*   This year, there were many PhD positions opening up. I’m not sure, however, if this trend will continue, and PhD positions usually are extremely competitive: For each of the five positions where I know the numbers, only one in more than 100 (!) applicants were accepted.

**More negative Aspects**
-------------------------

*   **THE main problem in my mind:** Too many courses are mandatory, and so make it difficult for students to take all the courses that interest them.
*   There are feedback sessions where students can mention what they think about the program (which are overall positive and may have led to improvements in the program). I know that concerns about the quality of the Computer Vision 1 course have been raised for at least three years, and approval from students anecdotally seems still rather low (as of August 2020). This is unfortunate since this course is mandatory. This year, there are changes to the course which might positively influence approval, and it has to be seen whether this is actually the case.
*   Not all changes to the program were good, in my mind: Some good courses were moved from “Constrained Choice” to “Free Elective”, and so students have less time to do them compared to before. This affects two courses close to research, namely “Project AI” and “Seminar Combining Symbolic and Statistical Methods in AI”.
*   Sometimes it takes ages for coursework and exams to be graded.
*   Teaching assistants (TAs) are often not as motivated as one might wish. Usually, it seems like TAs who are themselves master students are a bit more motivated than those who are PhD students. My suspicion is that this is since PhD students _need_ to teach a certain amount, but are not judged that much on how they perform.
*   Students often do not receive much feedback on their homework, especially for coding.
*   Potentially, the program could do more to prepare students for the big research thesis in the end, or for research in general. Topics like academic writing, significance testing, and how to create promising research questions, are hardly covered. Additionally, if students don’t seek research early on in individual projects, then they may feel very unprepared for the final thesis.

**Decision Guide**
------------------

You **should** consider the AI Master’s program of UvA if you

*   want a two-year program
*   Want lots of opportunities to do research (fundamental, applied, and/or with industry connections, see "Opportunities to do research" above)
*   Want a rather long research-thesis at the end (48 CP thesis, which is 40% of the program)
*   Want to learn both about fundamentals/theory of ML and coding-based/applied ML (this program has mandatory components in both with slightly more emphasis on theory)

You **should not** choose UvA if you

*   want to be very free in choosing your courses (7 courses, i.e. 35% of the program is fixed)
*   mainly want to learn about the ethics or philosophy of AI. This program is technical.
*   Want to live in either a bigger or a smaller city (Amsterdam has 870000 inhabitants)
*   Have some specific area of machine learning or artificial intelligence as your focus-area which is not as represented in Amsterdam

**The Netherlands and Amsterdam as a place to live**
====================================================

**General Considerations**
--------------------------

Note that I mostly studied in Amsterdam. I did not really explore the city that much, and so for a broader overview, I suggest looking on the internet for more information.

Some features:

*   To live in Amsterdam is relatively expensive, especially housing. There is high demand and limited options. I live in 26 square meters and pay roughly 815€ per month. But due to rent allowance, I’m getting 300€ back – this applies to many students older than 23 who live alone and have not that much money (it can also apply to younger students, but then the restrictions for the apartments are stronger I believe).
*   I perceive Amsterdam as being very international. I have no good sense, however, how it compares on this dimension to other capitals in Europe.
*   Dutch people:

*   are pretty tall.
*   speak near-perfect English, especially in Amsterdam. This also means that bureaucratic matters can be handled in English (but official letters go out in Dutch anyway).
*   are very direct.
*   are typically open-minded and easy to talk to.

*   The main way people commute is via bike. Amsterdam has the best bike lanes of all the cities I lived in my life (The other cities I lived at: Heidelberg, Bonn, Munich).
*   The Netherlands is one of the most liberal countries in the world:

*   Euthanasia is effectively legal, in some circumstances. As far as I know, this includes mental illnesses.
*   Marihuana and truffles containing psilocybin are legal and sold in so-called coffee shops and smart shops.
*   Prostitution is legal and openly advertized.

In general, I would say that Amsterdam is a nice, international, and modern city worth living for many people. For people who think that larger cities are two stressful, I suggest considering Tübingen, which is way smaller and thus also a bit cheaper to live in than Amsterdam (especially considering rental prices).

**Considerations for someone interested in Effective Altruism, AI Safety or Rationality**
-----------------------------------------------------------------------------------------

*   There is an [active Effective Altruism Group](https://www.facebook.com/groups/EAAmsterdam).
*   There is an [AI Safety Reading Group](https://www.meetup.com/Amsterdam-AI-Safety-Reading-Group/). I was one of the main organizers but stopped working on it. Tom Lieberum takes the lead now together with Remmelt Ellen. For announcements and discussions, join the [Telegram group](https://t.me/joinchat/NUH8CxbDuVMc1i-CovzAEg).
*   There is a [Lesswrong group](https://www.meetup.com/LessWrong-Netherlands/) in Haarlem, not too far away from Amsterdam. I think it often meets in Amsterdam as well.

**Appendix: Detailed information on specific courses**
======================================================

**Mandatory courses**
---------------------

### Evolutionary Computing, Multi-Agent Systems, and Knowledge Representation

Those three courses were mandatory when I started, but are not anymore since they are offered from the [Vrije Universiteit Amsterdam](https://www.vu.nl/en) which does not collaborate as closely with the University of Amsterdam anymore. Their “Knowledge Representation” course is not the same as the new “Knowledge Representation and Reasoning” course from the University of Amsterdam.

### Computer Vision

[Computer Vision](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73102) is usually not well received from the students, but fortunately requires less work than other courses. It seems from my perspective a bit out of date and the lecturer not that motivated. In the past three years at least, students gave lots of feedback to improve this course. I know that this led to some changes in the course, but I do not know yet whether this led to a larger approval of the course by students.

### Machine Learning 1

[Machine Learning 1](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73104) is basically a crash-course on maybe half of the [Machine Learning book by Bishop](https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf). It’s a good course and alongside the course on Deep Learning probably the most important to get into modern ML research. Usually, the course is considered a lot of work.

### Natural Language Processing

[This course](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73106) from the second period covered many different topics in NLP. Overall, I liked this course considerably less than Machine Learning 1. The homework and lecture were overall a bit less structured, but part of it was also me being a bit less interested in the topic.

### Deep Learning

Overall, the course is amazing. Alongside with Machine Learning 1, it is probably the most important course for getting into ML research early. Here's the [website](https://uvadlc.github.io/) of the course. And this is the [homework](https://github.com/uvadlc/DL_assignments_2019). You learn to derive gradient descent in generality for yourself and how to code MLPs, including a manual backpropagation in pure NumPy routines. You learn to use PyTorch and to train big models on the [Lisa cluster](https://userinfo.surfsara.nl/systems/lisa). Other topics include RNNs and LSTMs, graph-convolutional networks, and generative models, including GANs, VAEs, and Flow models, which the students investigate theoretically and in practice.

Students usually like the course but judge its workload as too high.

In my time, this was still a constrained-choice course, but they upgraded it to be in the mandatory courses, which is a useful change in my mind.

### Fairness, Accountability, Confidentiality, and Transparency in AI

I was recently teaching assistant for the new [FACT-AI course](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73565), which didn’t exist when I started studying. My impression is overall pretty positive. There’s no exam and only the homework and a final presentation are graded. In the homework, students could choose which paper in fairness or transparency of AI to reproduce/extend in teams. Here are [two](https://arxiv.org/abs/1905.00780) [examples](https://arxiv.org/abs/1801.07593) of papers that students could choose, the first about transparency and the second about fairness.

Overall, this course is very valuable after Machine Learning 1 and Deep Learning and brings students considerably closer to doing research.

### Information Retrieval

[Information Retrieval](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73100) is about how modern search engines work. My personal opinion – this may not at all coincide with the opinions of other students – is that this course should not be in the mandatory courses: It’s structure was good, but I felt like the topics were not relevant enough as background for the rest of the master AI program in order to warrant a mandatory course.

### Knowledge Representation and Reasoning

[This course](https://coursecatalogue.uva.nl/xmlpages/page/2020-2021-en/search-course/course/80282) is new. I assume it is meant to replace the course on Knowledge Representation of the Free University that dropped out of the main curriculum. I think learning about Knowledge Representation and Reasoning is actually a useful thing in order to understand both the limitations of these methods as well as the limitations of modern machine learning.

**Constrained choice courses**
------------------------------

Between 3 and 5 constrained-choice courses have to be chosen by the students. Some words about the courses I took:

### Information Theory

I took [this course](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/72640) in my second period. It is basically about the modern formulation of Shannon's original work on [the mathematical theory of communication](https://en.wikipedia.org/wiki/A_Mathematical_Theory_of_Communication). It differs considerably from other courses:

*   There is no lecture. Students self-study the material on [canvas](https://canvas.uva.nl/) in the form of short articles and some videos.
*   Students have to do quizzes to test their knowledge, which is part of the grade.
*   There are two big mandatory sessions per week. Students team up there in teams of 4-5 people in order to solve practice problems together, which are presented by students in the second session per week.
*   In the groups, students also solve homework problems together, also including some (but not much) coding.
*   The exam was partly open-book, i.e. one could consult the internet and books/notes during the exam.

I really liked the course!

### Seminar Combining Symbolic and Statistical Methods in AI

(The course does not appear in the course overview anymore. That may mean it does not exist anymore, but I’m not sure.)

[This](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73265) is the only seminar I went to in my master's, so not sure how representative this seminar is for other seminars. Unfortunately, this course will in the future only be “free elective” instead of constrained choice and so it is overall harder to find the time to do it.

Each week, students presented papers, each student presented 2 overall. Finally, in pairs of two students, everyone had to do a research project (with self-chosen ambition). Sometimes students produce something which is workshop-publishable.

### Project AI

Also, this [excellent course](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/74749) now moved from being constrained-choice when I took it in period 6 to being a "free-elective" course. That means again that incentives to take this course, unfortunately, got smaller. I expressed to the program-committee my regret about this change and hope they will take it into account. Some projects lead to publishable results.

### Reinforcement Learning

The [course on Reinforcement Learning](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73501) is basically a crash course on parts 1 and 2 of Sutton and Barto's excellent [book on RL](http://incompleteideas.net/book/the-book.html). Furthermore, also some Deep Reinforcement Learning not covered in the book is treated, including for example [Trust Region Policy Optimization](https://arxiv.org/abs/1502.05477).

Next to theoretical and practical homework, the students also write a blogpost on a reproducibility study they do, where me and my colleagues [investigated DQN.](https://www.yonischirris.com/does-dqn-converge/)

Overall a great course!

### Machine Learning 2

[This course](https://coursecatalogue.uva.nl/xmlpages/page/2020-2021-en/search-course/course/79626) basically teaches the other half of the [Machine Learning book from Bishop](https://www.microsoft.com/en-us/research/publication/pattern-recognition-machine-learning/)?

Overall, this was in my mind a pretty good course. Many students found it to be too theoretical, but I personally found it pretty good. The teacher of the course was now [promoted a professor for the maths department](https://staff.fnwi.uva.nl/j.m.mooij/), but I heard it’s essentially the same under the new teacher. I'm not sure how the course will change with a new teacher.

**Free Choice Elective courses**
--------------------------------

In this category, students can collect at most 12 CP, which corresponds to two courses. I did two courses in this category:

### Machine Learning Theory

[This course](https://homepages.cwi.nl/~wmkoolen/MLT_2018/) is part of [Mastermath](https://elo.mastermath.nl/), a joint effort of Dutch universities to deliver mathematics courses at the master level for everyone in the Netherlands. It is a completely theoretical course with no coding involved. Different from the other courses, it is a 4 months course instead of only 2 months.

Topics of the course include PAC-learning, Rademacher Complexity, Online Convex Optimization, and AdaBoost. It’s a good course with quite some work. The theoretical exercises are more difficult than in any AI master’s course in Amsterdam, but not more difficult than exercises in typical maths lectures.

### Information-Theoretic Learning

[Information-Theoretic Learning](https://homepages.cwi.nl/~pdg/teaching/inflearn/index.html) is a course by Peter Grünwald from the University of Leiden, who also coordinates the course on Machine Learning Theory. It is basically a course on the Minimum-Description Length Principle on which Peter Grünwald has written [a book](https://mitpress.mit.edu/books/minimum-description-length-principle).

Topics covered in the course include Kolmogorov Complexity, Shannon's Coding theorem, Markov Models, Jeffrey's prior, MDL Prediction/Model Selection/Estimation, ...

I would say the course is pretty good, albeit the connection to modern Machine Learning is a bit lacking.

**Other courses worth considering:**
------------------------------------

Of course, I only took a handful of the courses available. Other courses worth considering (not exhaustive, heavily biased towards my interest in more principled theoretical courses):

*   [Mastermath](https://elo.mastermath.nl/) has more interesting mathematical courses. Measure-Theoretic Probability Theory, several Optimization Courses, Dynamical Systems and Quantum Information Theory are only some of them. All of these courses are only available as free-elective courses, however, i.e. you can’t collect more than 12CP.
*   A [course on Computational Social Choice](https://staff.science.uva.nl/u.endriss/teaching/comsoc/).
*   A rather mathematical [Game Theory course](https://coursecatalogue.uva.nl/xmlpages/page/2019-2020-en/search-course/course/73071).
*   A new Course on [Causality](https://coursecatalogue.uva.nl/xmlpages/page/2020-2021-en/search-course/course/80284).
*   A new course on Deep Learning 2 (continuing the excellent Deep Learning course that already exists) is planned, but doesn’t exist yet.