nl en

Introduction to Machine Learning


Admission requirements

Not applicable.


This course equips students with foundational understanding of key concepts of Machine Learning (ML) and demonstrates how to solve real world problems with ML techinques. It covers the following topis:

  • Learning Theory

  • Supervised Learning

  • Unsupervised Learning

  • Transfer and Ensemble Learning

Course objectives

The course gives a comprehensive introductory overview of the field through a series of lectures and exercises. In addition, weekly homeworks and a practical application exercise of algorithms are given to the students, who are expected to run experiments and write a short report about the experiment and the results obtained.

By attending the course, students learn to:

  • understand how the concept of learning can be translated for the use by computers, understand general machine learning concepts like coefficient of determination, over- and underfitting, stochastic gradient descent, kernel trick, loss function, error measure, learning curve

  • be able to formalise the problem of learning in the setting of statistical learing theory including PAC learnability, regularisation, model validation and model selection

  • compare the working principles of various supervised and unsupervised machine learning methods

  • be able to use effectively methods such as support vector machines, random forests, decision trees, ensemble learning with bagging and boosting

  • be able to apply machine learing methods for timeseries, explainable AI and optimisation

  • motivate the choice of ML method for a given problem

  • develop working code of instances of ML methods discussed in the course

  • apply instances of ML methods to a task inspired by a real-word problem

  • create a scientific report that describes ML methods, analyses and evaluates their results


The most recent timetable can be found at the Computer Science (MSc) student website.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

  • lectures (including several practicums)

  • programming assignment including a report

  • homeworks

  • written exam

Course load

Total hours of study 6 EC course: 168h
Lectures and workgroups: 36:00 hrs.
Homework: 24:00 hrs.
Assignment: 70:00 hrs.
Self-study: 38:00 hrs.

Assessment method

The final grade is a weighed average of grades for:

  • the practical assignment that consists of python implementation, report produced via latex and peer review (30%)

  • the weekly homework assignments (10%)

  • the written examination with a mixture of multiple choice questions and questions with short free form answers (60%)
    To pass the course, a grade of 5.5 or higher should be achieved for the exam, assignment and the weighted average.

Reading list

Slides contain all necessary material covered by this course. List of additional optional reading material can be provided in the slides for some lectures.


Every student has to register for courses with the new enrollment tool MyStudyMap. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.


Dr. Anna V. Kononova