The aim of this course is to introduce Machine Learning, help the students gain both practical and theoretical knowledge related to basic and mid-level ML concepts, and last but not least equip the students with a study guide and study skills for further development in the field.


The duration of the course is 16 hours. Those will be distributed into two business days (8 hours each).


The course will be held entirely online. Apart from participating in the live lectures, the students will be able to participate in a course forum where they can ask questions and collaborate with other students.

What is the program of the course?

The program for the first day of the course is as follows

1. Course Introduction and what is ML (approx. duration 1h)

  • What processes can be optimized with ML?
  • How can we determine whether a process can be optimized with ML or not?
  • What is the path to becoming an ML Engineer?
10-minute break 

2. Introduction to Python (approx. duration 30min)

  • Installing Python
  • Using virtual environments to manage projects
  • Python packages (how to use and publish them)
  • Introduction to the Pandas package

3. Introduction to ML (approx. duration 1h)

  • What is a model?
  • Difference between supervised and unsupervised learning
  • Difference between classification, regression, and clustering
  • How to measure the performance of a model?
  • How to train a model?
  • Loss Functions
  • Objective Functions
  • Optimization Algorithms
  • Bias/Variance trade-off
10-minute break

4. Linear Models ( approx. 1h )

  • Linear Regression
  • Logistic Regression

10-minute break

5. Live coding practical task (approx 1h)

  • Predicting customer’s purchase behavior
30-minute break

6. Recommender Algorithms (approx 1h)

Take home: The students will receive a tutorial (in the form of a blog post plus a GitHub repo containing the code) on how to implement a recommendation model for a specific marketing problem in Python. Each student will be able to implement the tutorial at home and ask the instructor any questions that arise

Course Instructor

The program for the second day is outlined below

1. Non-linear models ( apart from Neural Networks ) ( approx. duration 1h)

  • Why do we need non-linear models?
  • How to think about non-linearity?
  • Support Vector Machines
10-minute break

2. Neural Networks Basics (approx. 1h)

  • Why do we need neural networks?
  • Why do neural nets work?
  • What is the idea behind neural networks?

10-minute break

3. Training Neural Networks (approx. 1h)

  • The Backpropagation Algorithm
  • Neural Net Optimization Algorithms

10-minute break

4. Neural Nets Generalization (approx. 1h)

  • Intuitive understanding of generalization
  • Regularization and why does it work
  • Types of regularization techniques
30-minute break

5. Live coding practical task (approx. 1h)

  • Predicting customer behavior with a Neural Net in PyTorch

6. Modelling Time-dependent Processes (approx. 1h)

  • Markov Models
  • LSTMs
10-minute break

7. Hands-on Stock Market Prediction (approx. 1h) as an example of a time-dependent process

What is the price?

The price of the whole course is 700 euro. Each student will receive an invoice in case they need it. There may be discounts if a group of people from the same company take the course at the same time.

How to register for the course?

You can send an email

How is the payment processed?

After registration, each student will receive bank account details where they can send the course fee.

Who is the Instructor?

The instructor is Stefan Lazov. Stefan has more than 7 years of professional experience as a Software Engineer, Machine Learning Engineer, and Team Lead. He holds a Bachelors’s Degree in Mathematics and Computer Science from the American University in Bulgarian and a Masters’s Degree in Advanced Computer Science from the University of Cambridge. In the last 5 years, Stefan has been working professionally in the field of Machine Learning where has completed projects related to Object Detection, Image Classification, Sentiment Analysis, Text Clustering, Natural Language Generation, Emotion Analysis, and others. Apart from his professional experience with Machine Learning, Stefan also has done research in the field of Natural Language Processing where has recently co-authored an article that has been published in the most prestigious conference in the field – ACL.

What will be the programming language in which the course will be held?

The programming language is Python. For the exercises related to Neural Nets, we will be using the PyTorch library.

Additional Notes

  • There will be a forum for the course, where everybody will be able to participate and ask questions
  • After the course, each student will receive tutorials – in the form of blog posts plus the code for each of the practical tasks. In this way, the student will be able to redo any of those exercises after the course is over
  • Each student will receive a list of books and online resources, plus a study guide that can help him/her through the path of becoming an ML Engineer

Feel free to ask any additional questions at

Leave a Reply

Your email address will not be published.