Course syllabus

Welcome to the course pages for EDAN96 - Applied Machine Learning! If you were looking for EDAN95, you have come to the right place. For PhD students, the course code is still EDAN95F.

General information

The course will start on Monday, October 31st, all places will be filled according to the rules regarding prerequisites and ranking (see official course plan in Swedish or English) as explained below.

Registration and admission information

2022-10-31: Do not forget to register for a lab session - otherwise we cannot handle your questions or submissions! If you cannot do so, contact me (Elin), it might be due to my blocking you from registering as you did not contact me about your absence during today's first lecture. Note that I only make use of the attendance data from the lecture in E:A (not the Zoom session) and from the notifications you might have sent.

2022-10-21: LADOK will open for registration on October 24th. If you got a notification about a place, you must
** register by October 27th and
** solve the Lab instruction quiz by November 3rd.

2022-09-09: LADOK will open for tentative registration (anmälan) to the course on September 12 and close on September 27. Note that prospective participants will be evaluated against two criteria before being admitted: You need to have fulfilled the prerequisites (see official course plan here) and you will then be ranked according to the number of credits you have been granted within the program you are applying through, including credited (tillgodoräknade) credit-pointsCut-off date for credits to be taken into account is Friday, September 30th. Only credits formally registered in LADOK by that date will be considered. For HT2021, 144 students were accepted into the course. We will most likely be able to increase this number by about 15-20%. Note also, that this course has been very different from other courses regarding rules for registration and for what to do to keep an offered seat, due to the high interest clashing with limited capacities. Once pre-registered, monitor your e-mail including the spam-folder!

If you want to re-register (omregistrera) to finish pending parts of the course / retake the entire course, contact administration for the formal registration and the course responsible (Elin A. Topp) personally. Your seat is safe, but we need you on the list ;-)

To avoid surprises and unnecessary work load for you or me shortly before the course starts in late October, please check the official course plan for the criteria against your prerequisites. THANKS!


Registration information for PhD students (EDAN95F):

2022-09-09: As announced in LTH's list of available graduate courses, the deadline for applying to the course was September 1st for this year. If you learned about the course only now, you can still contact me and I will let you know what the situation actually is.


General policy for course sessions:

2022-09-09: Following the general university policy to go back to campus teaching, lectures will be held on campus, however, we will most likely adopt a hybrid solution for contact with TAs in office hours, as well as exercise / lab sessions, which will then be handled partly in Discord in addition to physical meetings in the computer labs. We will use Canvas as the overall course platform to distribute information and course material as well as to give you a platform for discussion with teachers and peers. 


If you have enlisted yourself (anmäld), you will receive an e-mail with detailed information shortly after the period for enlisting closes.

IMPORTANT: You will have to actively show your interest to keep a place in the course once it is offered to you or to stay on the waiting list. WATCH OUT for respective e-mails!

Details about the course in HT2022 will be added here, for previous course runs you can have a look at the old course home page or the HT2021 syllabus page here in Canvas.

Master thesis projects

can be found in connection to the RSS (Robotics and Semantic Systems) division, which includes also the ML research group.

Remote attendance:

Lectures will be held on campus, contact with teachers and TAs in exercise / lab sessions will be mostly handled in computer rooms (default) but with an online option (for you who should avoid public spaces, not only Covid-19 is nasty) in a respective Discord server. The Discord server will also be available 24/7 for you to discuss with your peers, and will be used for the only online "office hours / extra periods (resurstider)". 

In addition, we will use this platform (Canvas) as the overall course platform to distribute information and course material - and of course it also offers opportunity for discussions with your peers.


Sessions and assignments: The course has 14 lectures, 5 programming assignments (labs) that should be worked on in pairs, and 3 individual homework assignments (reports).

Modules: The course has 5 Canvas modules, grouping related lectures and assignments, with the first one containing also general information and preparation / recap material (an intro to Python (book chapter), a Python tutorial (Jupyter notebook), a "Lab 0" exercise, and a pre-recorded video "Lecture 1.5" with a recap on linear algebra).

Lectures will be held by three teachers, Elin A. Topp (EAT, course responsible), Luigi Nardi, (LN), and Pierre Nugues (PN).

Teaching assistants: For the lab sessions and to support you in general with the course material, we have several TAs, all are at least PhD students, some are on PostDoc level: Alexander Dürr, Carl Hvarfner, Dennis Medved, Erik Gärtner, Faseeh Ahmad, Hampus Åström, Konstantin Malysh, Leonard Papenmeier, Simon Kristoffersson Lind.

Contact information and office hours for teachers and TAs can be found here.

Examination: If you are registered or re-registered for course instances HT2019 and later, fulfilling all assignments (programming assignments in pairs, homework assignments individually) will give the full course credits (7.5 ECTS) and a passing grade "3", as well as allow you to take the optional exam, with which it is then possible to get a higher grade ("4", or "5"). Fulfilling respectively marked (more complex) parts of assignments can generate bonus points for the exam.
If you are re-registered for course instance HT2018, fulfilling all programming assignments (in pairs) will give a part of the course credits (4.5 ECTS). To pass the entire course (7.5 ECTS) you need to also pass the exam. The grade achieved in the exam holds then for the entire course (grade scale "U/3,4,5,").
If you are a PhD student registered for the course, fulfilling all assignments including potential extra parts (programming assignments in small groups including discussing them in a seminar session (upon agreement), homework assignments individually) will give the full course credits (7.5 ECTS) and a passing grade (G for "godkänd / passed") on the U/G scale. 

Overview over the course events per course / calendar week (will be updated continuously):

week / cw Lectures (topics)

Programming assignments (Labs)

Homework announced Homework due
1 / 45 31/10: Introduction (EAT)
2/11: Intro to Numpy / Linear Algebra in ML (PN)

3+4/11: Python for ML, Dataset format

31/10: Report on Lab 1
2 / 46 7/11: Probability review (LN)
9/11: Basic concepts in ML (LN)

10+11/11: Probability review

3 / 47 14/11: Information theory (LN)
16/11: PCA (LN)

17+18/11: Information theory

17/11: Homework  1
4 / 48 21/11: Logistic regression (PN)
23/11: MLP / FF networks (PN)

24+25/11: Classification (support)

1+2/12: Classification (assessment)

5 / 49

28/11: Gradient descent (PN)

30/11: Decision trees (EAT)

28/11: Report Lab 4


6 / 49+50

2/12: Random forests / ensemble methods (EAT)
Bayesian classifiers / learning + Unsupervised methods (EAT)

8+9/12: Regression (support)

15+16/12: Regression (assessment)

2/12: Report Lab 5  
7 / 51

12/12: SVMs (LN)
13/12: Wrap-up (EAT)

12/12: Homework 2

8 / 52



19/12: Homework 3


Course summary:

Date Details Due