Due to the Corona virus it is unclear how the programmes will take place. For the latest news please check the course page in Blackboard/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