Due to the Corona virus education methods or examination can deviate. For the latest news please check the course page in Brightspace.


nl en

Deep Learning and Neural Networks


Admission requirements

Recommended required knowledge

Elementary calculus and linear algebra; basics of probability theory and statistics. Fluency in Python; basic commands of Linux.


The course provides an introduction to key concepts and algorithms for deep neural networks and their applications. It covers the following topics:

Part One: Basics

  • From statistical pattern recognition to Multi-layer Perceptron.

  • Linear models: Perceptron, Logistic Regression, SVM, Cover’s Theorem.

  • Multi-layer Perceptron and Backpropagation.

  • Alternative Loss functions, Regularization, Dropout, Batch Normalization.

  • Introduction to TensorFlow.

Part Two: Deep Learning

  • Convolutional Networks (LeNet, AlexNet, ResNet, UNet, …).

  • Recurrent Neural Networks (Vanilla, LSTM, GRU Networks).

  • Generative Models (Variational Autoencoders, Generative Adversarial Networks).

  • Deep Networks for Reinforcement Learning.

Additionally, several state-of-the-art applications of Deep Learning to image recognition, language modelling, game playing, anomaly detection, etc., will be discussed. The course consists of weekly lectures, three programming assignments (in Python/Tensorflow) and the final written exam.

Course objectives

The objectives of this course are:

  • to provide a general introduction to the field of deep neural networks and their applications,

  • to develop practical skills for designing and training neural networks for various tasks like image classification/segmentation, anomaly detection, language translation, game playing, robot control, etc.,

  • to develop skills for scientific research and reporting.


The most recent timetable can be found at the students' website.

Mode of instruction

  • Online lectures

  • Online exercise classes

  • Practical assignments

  • Self-evaluated homework

Course load

Total hours of study: 168 hrs. (6 EC)
Lectures: 26:00 hrs.
Practical work: 64:00 hrs.
Reporting: 42:00 hrs.
Preparation for the exam: 36:00 hrs.

Assessment method

The final grade is a weighted combination of grades for:
1. an individual assignment (40%),
2. the practical assignments (60%).
To pass the course both grades (for the exam and the practicals) must be at least 5.5.


See Blackboard.

Reading list


  • Deep Learning, by Ian Goodfellow and Yoshua Bengio and Aaron Courville (available from http://www.deeplearningbook.org/).
    Practice (and theory):

  • Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, by Aurélien Géron, 2nd Edition.


  • You have to sign up for courses and exams (including retakes) in uSis. Check this link for information about how to register for courses.

  • Please also register for the course in Blackboard.

Contact information

Lecturers: dr. Wojtek Kowalczyk
Skype: kowalczykwj@vuw.leidenuniv.nl
Teaching Assistants: neuralnetworks@liacs.leidenuniv.nl