ID2223 Scalable Machine Learning and Deep Learning 7.5 credits

Skalbar maskininlärning och djupinlärning

  • Education cycle

    Second cycle
  • Main field of study

    Computer Science and Engineering
  • Grading scale

    A, B, C, D, E, FX, F

Course offerings

Intended learning outcomes

The course studies fundamentals of distributed machine learning algorithms and the fundamentals of deep learning. We will cover the basics of machine learning and introduce techniques and systems that enable machine learning algorithms to be efficiently parallelized. The course complements courses in machine learning and distributed systems, with a focus on both the topic of deep learning as well as the intersection between distributed systems and machine learning. The course prepares the students for master projects, and Ph.D. studies in the area of data science and distributed computing.

The main objective of this course is to provide the students with a solid foundation for understanding large-scale machine learning algorithms, in particular, deep learning, and their application areas.

On successful completion of the course, the student will:

  • be able to re-implement a classical machine learning algorithm as a scalable machine learning algorithm
  • be able to design and train a layered neural network system
  • apply a trained layered neural network system to make useful predictions or classifications in an application area
  • be able to elaborate the performance tradeoffs when parallelizing machine learning algorithms as well as the limitations in different network environments
  • be able to identify appropriate distributed machine learning algorithms to efficiently solve classification and pattern recognition problems.

Course main content


  • Machine learning algorithms
  • Scalable frameworks to parallelize machine learning algorithms
  • Distributed machine learning algorithms, e.g., distributed linear regression and distributed logistic regression
  • Linear algebra, probability theory and numerical computation
  • Deep neural networks
  • Regularization and optimization for training deep neural networks
  • Sequence modelling
  • Applications of deep learning


Recommended prerequisites

Basic knowledge in distributed systems and programming models, programming languages (Scala, Java, Python).

It is preferable that you either have some training in or have taken a course in the following areas: Machine Learning, Linear Algebra and Probability Theory.


Material from the the course is derived from the recent research publications as well as the following textbook:

Deep Learning, Yoshua Bengio, Ian Goodfellow and Aaron Courville, MIT Press (in preparation).


  • LAB1 - Programming Assignments, 3.0, grading scale: P, F
  • TEN1 - Examination, 4.5, grading scale: A, B, C, D, E, FX, F

Written examination. Laboratory tasks.

Offered by

EECS/Computer Science


Amir Payberah <>


Course syllabus valid from: Spring 2019.
Examination information valid from: Spring 2019.