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 4 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.
     

  • Course design

    Every module consists of 2 or 3 weeks.

    Every module has one or two sessions with mandatory attendance. In total there are 5 on-site mandatory sessions scheduled on Wednesdays from 14:00-16:00. Online participation is not possible. 

    On the weeks where there are no scheduled lectures, participants can come and ask questions during the Q&A sessions. There will be several timeslots scheduled for Q&A sessions every day those weeks, so participants may choose whichever option fits their schedule best. The exact schedule for these optional Q&A sessions will be published at a later date.

    We also offer an on-site optional kick-off / installation session before the start of the course, if you need help to install the software on your computer.  

    In total, the course will average around 8 hours per week.

    The exact schedule of the sessions is shown in the table below.

     

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

     

  • 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
  • Study material & laptop

    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).  

Q&A sessions

In the weeks with Q&A sessions there will be several timeslots to ask any additional questions you might have about the material. These are optional and you may attend whichever slot fits your schedule best. There will be slots scheduled every day of the week and the preliminary schedule for this currently is:

  • Monday 14:00 - 16:00
  • Tuesday 10:00 - 12:00
  • Wednesday 10:00 - 12:00
  • Thursday 10:00 - 12:00
  • Friday 10:00 - 12:00

Contact 

Do you have further questions about this programme? 

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