For best experience please turn on javascript and use a modern browser!
You are using a browser that is no longer supported by Microsoft. Please upgrade your browser. The site may not present itself correctly if you continue browsing.
Why choose this course?

In-depth understanding of ML algorithms

Read more
Gain in-depth knowledge about the workings of machine learning algorithms

Hands-on course

Read more
We offer weekly seminars to help you master the material

Explore impact & risks

Read more
The societal impact and risks of machine learning algorithms will be examined.

For whom? 

Anyone wishing to better understand what machine learning algorithms are, and where and how they can be applied. For example, this could be developers looking to expand their skill set, technical managers deciding where to apply machine learning, or PhD students wanting to apply machine learning in their own research. 

Required prior knowledge
A large part of this course consists of programming machine learning algorithms for yourself, so it is absolutely necessary you can write basic Python code. This includes writing your own functions, using list, dictionaries and tuples, and debugging a solution that doesn’t work. The courses Scientific Programming 1 and 2 cover all the  programming skills required for this course.

The course will also cover the mathematical foundations of these machine learning algorithms. This will require a very basic understanding of calculus, linear algebra, probability theory and statistics. Optional self-study modules for these topics are included in the course. If you need to brush up all of the mathematics required for the course, expect to spend an additional 2 hours each week.

About the programme
  • Course description

    The core of this course revolves around programming machine learning algorithms for yourself, as a way to truly understand what exactly they are learning. The course has 4 modules in total. Each of the different modules will focus on programming a different algorithm, understanding the math required for that algorithm, and discussing a philosophical question or a societal impact related to applying this algorithm in practice.
    Specifically, we’ll cover the following algorithms:

    • k-Nearest Neighbours
    • Naive Bayes
    • Gradient Descent
    • (Multivariate) Linear Regression
    • Polynomial Regression

    Note: This explicitly does not include Neural Networks, as that is too large a topic to also include here. However, the foundational concepts covered are also all applied within Neural Networks, and so this does provide the necessary basis to study Neural Networks in a follow-up course.
     

  • After this course, you will:
    • Know the main types of  machine learning algorithms, and when to apply each
    • Know how to train a simple machine learning model using your own data set
    • Know how to detect underfitting or overfitting, and select the best model complexity for a task
    • Understand the foundational mathematics that allow all ML algorithms to learn from large amounts of data
    • Understand some of the important societal risks when applying ML in practice
    • Understand what it means for an algorithm to “learn” something, and the capabilities and limitations this implies
  • Mode of study, materials and laptop


    Mode of study: Weekly on-site classes and self-study. In total, this will average around 8 hours per week.

    On-site classes: Every Friday from 14:00-16:00. 

    Every module consists of 2 or 3 weeks. On even weeks there will be a seminar with mandatory attendance (see below for dates). On odd weeks this will be an optional tutorial  to ask questions about the material you may have, and to get help with assignments.    

    We also offer an on-site optional kick-off / installation session on 27 September 2024 if you need help to install the software on your computer.  

    Study material: The study materials included in the course consist of reading materials, theory videos, and optional self-study modules for mathematics.

    Laptop: You will need to bring your own laptop to program on for the assignments (make sure you have rights to install software on the device).  

  • Schedule (for start date 30 September 2024)
    Schedule on-site classes every Friday from 14:00-16:00 on:
    Kick-off | installation 27 September 2024, 14:00-16:00 Optional session
    Week 1 | Module 1 4 October 2024, 14:00-16:00 Tutorial (optional)
    Week 2 | Module 1 11 October 2024, 14:00-16:00 Mandatory seminar
    Week 3 | Module 2 18 October 2024, 14:00-16:00 Tutorial (optional)
    Week 4 | Module 2  25 October 2024, 14:00-16:00 Mandatory seminar
    Week 5 | Module 3 1 November 2024, 14:00-16:00 Tutorial (optional)
    Week 6 | Module 3 8 November 2024, 14:00-16:00 Mandatory seminar
    Week 7 | Module 3 15 November 2024, 14:00-16:00 Tutorial (optional)
    Week 8 | Module 4 22 November 2024, 14:00-16:00 Mandatory seminar
    Week 9 | Module 4 29 November 2024, 14:00-16:00 Tutorial (optional)
    Week 10 | Module 4 6 December 2024, 14:00-16:00 Mandatory seminar
    Week 11 | Exam preparation 13 December 2024, 14:00-16:00 Optional session
    Week 12 | Exam 20 December 2024, exact time willbe announced soon Mandatory

     

  • Assessment
    • 4 programming assignments
    • 4 writing assignments
    • a final exam
Important dates

 

 

 

The course will start again in the spring of 2026.


The exact start date and dates of the seminars will be announced soon.

Contact 

Do you have further questions about this programme? 

Please contact: Team Lifelong Learning (Informatics Institute)
E: professionaleducation-ivi@uva.nl