nl en

Introduction to Deep Learning


Admission requirements

Assumed prior 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, algorithms and architectures for neural networks, with strong emphasis on Deep Learning and its applications. It covers the following topics:

Part One: Classical Neural Networks

  • Basics of Machine Learning and Pattern Recognition

  • Linear models: Linear Separability, Perceptron, Convergence Theorem, Cover's Theorem, Multi-Class Perceptron

  • Multi-layer Perceptron

  • Algorithms for training Deep Networks: Stochastic Gradient Descent and its variants; Backpropagation

  • Alternative activation and loss functions; Regularization, Dropout, Batch Normalization

  • Introduction to GPU-computing, Keras, TensorFlow

Part Two: DeepLearning

  • Convolutional Networks; key architectures and applications

  • Recurrent Neural Networks; LSTM and GRU Networks; Word Embeddings

  • Autoencoders

  • GAN Networks

  • Deep Learning for Reinforcement Learning

During the course several state-of-the-art applications of Deep Learning to image recognition, computer vision, language modeling, game playing programs, etc., will be discussed. The course consists of weekly lectures, three programming assignments (in Python, TensorFlow, Keras) and the final written exam.

Course objectives

The objective 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 tasks like image classification, speech recognition, modeling sequential data, game playing

  • to master a popular system for developing deep networks: TensorFlow with Keras


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

Mode of instruction

  • Lectures

  • Computer Labs

  • Practical Assignments

Course load

Total hours of study 6 EC course: 168 hrs.

Assessment method

The final grade will be the weighted average of grades for:

  • programming assignments (60%)

  • written exam (40%)

The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.

Reading list

  • Aurélien Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (Second 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.


Lecturer: dr. Wojtek Kowalczyk