CS208
Algorithms and Data Structures

Faculty
Kamil Debowski
Competitive Programming Teacher
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
Students learn medium-difficulty algorithms like prefix sums and sliding window. They practice problem-solving skills and implementation. There will be more than 50 problems in total, with automatic testing of solutions.
Learning highlights
- Understand a variety of algorithms and be able to apply or modify them
- Improve at problem-solving and recognizing patterns
- Get familiar with competitive programming and platforms like Codeforces
Course outline
15 classes
Session 1
Warm-up non-graded test. Time complexity, data structures overview.
Session 2
Prefix sums, palindromes, sequences practice.
Session 3
Recursion, full search, backtracking.
Session 4
Math: primes, sums, counting.
Session 5
Test and solution discussion.
Session 6
Graphs: BFS, DFS, trees, grids.
Session 7
Graphs: pathfinding, Dijkstra, A*.
Session 8
Segment tree.
Session 9
Segment tree practice.
Session 10
Test and solution discussion.
Session 11
Dynamic programming: states and transitions.
Session 12
Dynamic programming: knapsack, 2D states.
Session 13
Sliding window, two pointers.
Session 14
Sweep line, extended consultations.
Session 15
Final test and solution discussion.
Prerequisites
Arrays, functions, binary search, high school math. Understanding code in Python.
Methodology
Mix of lectures and workshops, Homework, Friday tests last around 2 hours and can’t be retaken.
Grading
Awards
- Gold Medal
ICPC World Finals 2024 (Coach)
- Gold Medal
Coach of IOI 2021
Kamil Debowski, or “Errichto”, is a competitive programmer and a teacher. He participated in math contests through school, then switched to programming and became a finalist of the biggest international contests. He is the author of 300+ problems (Codeforces, Topcoder, Codechef, etc.) and reached the highest possible titles: Codeforces "Legendary Grandmaster" and Topcoder "Target".
Since 2018, Kamil is a full-time teacher: CP camps, high school classes, private coaching, video tutorials. His algorithmic Youtube channel (https://www.youtube.com/errichto) has over 250,000 subscribers and 12 million views. He also live-streams on Twitch (https://www.twitch.tv/errichto) and is a commentator of events like Topcoder Open and ICPC regionals.
See full profileApply for this course
Algorithms and Data Structures
by Kamil Debowski
Total hours
45 Hours
Dates
Mar 14 - Apr 01, 2022
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.



