Back to all courses

Deep learning with Python

Individual course

Max amount of FITech students: 1000

This course is intended as a follow-up for CS-EJ3211 Machine Learning with Python.

This course is an introduction to deep learning.

This is an introductory course where you will learn how to train high-dimensional non-linear models, represented by deep artificial neural networks (ANN), using few lines of Python code. Deep learning is an umbrella term for methods using deep nets, i.e., ANNs that consist of several consecutive layers of artificial neurons. The course gives you a brief overview of gradient descent which is the most widely used algorithm for tuning the weights of deep nets. You will learn some powerful tricks that allow tuning billions of ANN weights using only hundreds of training examples. Some of the most successful deep learning methods are enabled by few clever regularization techniques, such as data augmentation and transfer learning, to avoid overfitting.

After successfully completing the course, the student

  • understands how ANNs can be used for learning and evaluating high-dimensional non-linear models.
  • understands the basic principle of gradient descent.
  • is able to build, and train ANNs using the Python package Keras.
  • is able to diagnose the learning process by comparing training with validation loss.
  • is able to use data augmentation to synthetically enlarge the training set.
  • is able to implement transfer learning by fine-tuning a pre-trained deep net.

The grading is based on coding assignments and student projects.

Background reading:

  1. A. Jung, 2021. “Machine Learning: The Basics.” Available online at
  2. A. Géron, 2019. “Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow : Concepts, Tools, and Techniques to Build Intelligent Systems.“ Second edition, O’Reilly Media.
  3. F. Chollet, 2017. “Deep Learning with Python.” New York, NY: Manning Publications. Available at
  4. Beysolow II, Taweh, 2018. “Applied Natural Language Processing with Python Implementing Machine Learning and Deep Learning Algorithms for Natural Language Processing.” 1st ed., Apress, doi:10.1007/978-1-4842-3733-5.

Books 2-4 can be accessed via Aalto University library service.

You can get a digital badge after completing this course.

Responsible teachers

Aalto University
Alex Jung, Assistant professor
Aalto University
Shamsiiat Abdurakhmanova

Further information about the studies

Aalto University
FITech ICT contact person

Contact person for applications

FITech Network University
Monica Sandberg, Student services specialist
Start here
Start here
ICT Studies
AI and machine learning,
Course code:
0 €
Teaching period:
Application deadline:
Application period has ended
Host university:
Aalto University
Study is open for:
Adult learner,
Degree student
Teaching methods:
General prerequisites:
High-school math (functions, derivatives, vectors). Basic Python programming (variables, functions, loops). The course Machine Learning with Python.
Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.

This course is included in the following theme