Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS208

Algorithms and Data Structures

Barcelona Campus
Mar 14, 2022 - Apr 01, 2022
In this course, students focus on key and in-depth algorithms and data structures that form a modern computer specialist’s toolkit.
Barcelona Campus
Mar 14, 2022 - Apr 01, 2022
Kamil Debowski

Faculty

Kamil Debowski

Competitive Programming Teacher

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Computer ScienceDynamic ProgrammingGraphsSegment TreesEfficient Implementation
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

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

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Session 1

Warm-up non-graded test. Time complexity, data structures overview.

Tuesday
2

Session 2

Prefix sums, palindromes, sequences practice.

Wednesday
3

Session 3

Recursion, full search, backtracking.

Thursday
4

Session 4

Math: primes, sums, counting.

Friday
5

Session 5

Test and solution discussion.

Monday
6

Session 6

Graphs: BFS, DFS, trees, grids.

Tuesday
7

Session 7

Graphs: pathfinding, Dijkstra, A*.

Wednesday
8

Session 8

Segment tree.

Thursday
9

Session 9

Segment tree practice.

Friday
10

Session 10

Test and solution discussion.

Monday
11

Session 11

Dynamic programming: states and transitions.

Tuesday
12

Session 12

Dynamic programming: knapsack, 2D states.

Wednesday
13

Session 13

Sliding window, two pointers.

Thursday
14

Session 14

Sweep line, extended consultations.

Friday
15

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

The final grade will be composed of the following criteria:
75% - Classwork & homework
20% - Tests
5% - Active participation
Both homework and tests consist of algorithmic problems to solve. Every problem is graded up to 10 points for correctness and efficiency. Students lose points for submitting homework late.
Kamil Debowski

Faculty

Kamil Debowski

Competitive Programming Teacher

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 profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

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.