DS212BKK

Faculty
Stanislav Don
Data Scientist at eBay
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
By completing this course, students will transition from classical machine learning to deep learning engineering, moving beyond "black boxes" to architectural design. To start, we'll master PyTorch internals and custom training loops, gaining a precise understanding of optimisation. We will apply these foundations to build personalised Recommender Systems using embeddings.
Next, we will explore two major domains: Computer Vision and Generative AI. To master vision, you will study Convolutional Neural Networks, Transfer Learning, and Metric Learning for visual search. As for Natural Language Processing, we will dissect Transformers and the Attention mechanism. We will cover the modern Large Language Model lifecycle—from pre-training to efficient fine-tuning with LoRA—and learn how image and text representations can be unified in the same space using CLIP.
15 classes
From linear model to a neuron Activation functions (ReLU, sigmoid) and why we need non-linearity Parameters, forward pass, loss.
Practice: PyTorch basics (tensors, autograd), first tiny MLP.
Computational graph and backprop intuition. Batch training: dataloaders, batching, shuffling. Debugging training: “it doesn’t learn” checklist.
Practice: write a clean training loop from scratch (train/val, metrics).
BCE vs CE, softmax, multi-class vs multi-label. SGD vs Adam, LR, schedules, weight decay, clipping.
Practice: MNIST/FashionMNIST baseline (MLP), proper evaluation + error analysis.
Overfitting in DL: what it looks like. Dropout, data augmentation as regularisation. Reproducibility: seeds, deterministic runs, experiment logging.
Practice: improve MNIST/FashionMNIST baseline; implement logging (TensorBoard/CSV).
Convolution, kernels, feature maps, pooling Why CNNs beat MLP on images.
Practice: implement a small CNN; train on CIFAR-10/FashionMNIST.
BatchNorm (intuition), residual connections (idea). Data augmentation for CV. Albumentations library.
Practice: add augmentations + BN; compare to previous CNN.
Pretrained backbones: what is learned and why it transfers? Freeze vs fine-tune.
Practice: Loading a pre-trained ResNet and replacing the Head for a custom 10-class dataset.
Attention mechanism. From patches to tokens. Q/K/V intuition. Self-attention as “content-based mixing”. ViT block diagram.
Practice: (a) implement toy self-attention OR (b) run a pretrained ViT and compare with ResNet on the same dataset.
Metric Learning (Siamese Networks, Triplet Loss). The concept of Visual Search.
Practice: Extracting feature vectors from images and calculating Cosine Similarity.
Object Detection overview (YOLO). Neural Style Transfer.
Practice: Implementing Neural Style Transfer. Using VGG features to apply artistic styles to food photos.
BPE, attention recap. Encoder vs decoder, positional encoding.
Practice: HuggingFace: run BERT/GPT-2 inference; inspect tokeniser outputs.
Text classification pipeline; evaluation; error analysis.
Practice: fine-tune DistilBERT on a small dataset.
Training LLMs: Pre-training vs. SFT (Supervised Fine-Tuning). Instruction Datasets.
Practice: Fine-tuning a small LLM.
CLIP idea: joint image-text embedding space. Text2image / image2text retrieval; zero-shot classification.
Practice: CLIP-based retrieval / simple multimodal demo.
Q&A
Course recap, best practices, common mistakes checklist.
Python: Strong command of the language.
Mathematics: Basic knowledge of Linear Algebra and Calculus (understanding derivatives, gradients, and matrix multiplication).
Intro to Machine Learning: Understanding of overfitting, train/test splits, and basic classification/regression metrics.
Each lesson lasts 3 hours.
The first half (1.5 hours) is dedicated to theory, concept analysis, and live coding.
The second half (1.5 hours) focuses on practical tasks, Kaggle competitions, and the course project.
Stanislav is a data scientist specialising in practical machine learning and deep learning using Python and PyTorch. He has worked on industrial projects at eBay Deutschland and previously at 3PM Solutions and Yandex, contributing to a wide range of product and engineering initiatives.
Stanislav graduated from the Higher School of Economics with a degree in Computer Software Engineering and completed a joint Master’s programme in Data Science offered by HSE and Yandex (Yandex School of Data Analysis). He also served as a Teaching Assistant in Probability Theory and Mathematical Statistics at HSE.
See full profileApply for this course
by Stanislav Don
Total hours
45 Hours
Dates
May 18 - Jun 05, 2026
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.