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

CS207

Algorithms and Data Structures

Barcelona Campus
Feb 20, 2023 - Mar 10, 2023
In this course, students will learn algorithms, data structures and paradigms to boost their problem-solving skills.
Barcelona Campus
Feb 20, 2023 - Mar 10, 2023
Anier Velasco Sotomayor

Faculty

Anier Velasco Sotomayor

Lead at the ML Theory group at Cohere for AI Open Science community.

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

Every day, society is more informed, and it needs engineers to know how to tackle problems and solve them efficiently. A great skill to have is to know how commonly known algorithms and data structures work. In this course, students will learn these algorithms, data structures and paradigms to boost their problem-solving skills.

Learning highlights

  • Understand a variety of algorithms theoretically and practically, and be able to modify them or apply them to unseen problems.
  • Improve their problem-solving and pattern-recognition skills
  • Introduction to Competitive Programming.

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

Recursion, full search, backtracking.

Wednesday
3

Session 3

Graphs I: DFS, trees, grids, pathfinding.

Thursday
4

Session 4

Graphs II: shortest paths, A*.

Friday
5

Session 5

Test and solution discussion.

Monday
6

Session 6

Graphs III: DSU, MST.

Tuesday
7

Session 7

Dynamic Programming I.

Wednesday
8

Session 8

Dynamic Programming II.

Thursday
9

Session 9

Segment Trees & Binary Search Trees.

Friday
10

Session 10

Segment Trees and Binary Search Trees. Practice.

Monday
11

Session 11

Test and solution discussion.

Tuesday
12

Session 12

Strings: Trie, Hashing, applications.

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.

Course materials

Media

Prerequisites

Basics of Math (basic counting, discrete math)

Basic programming skills in either Python or C++

Methodology

There will be lectures with both theory and practice. Students are highly encouraged to participate and give ideas for the problems discussed in class.

Grading

The final grade will be composed of the following criteria:
70% - homework + classwork
30% - Exam
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.
Anier Velasco Sotomayor

Faculty

Anier Velasco Sotomayor

Lead at the ML Theory group at Cohere for AI Open Science community.

Anier started in computer science by doing programming Olympiads in high school, during which he obtained a gold medal in the Cuban National Olympiad and a bronze medal in the Ibero-American Olympiad in Informatics.

He has a BSc. in Computer Science and Data Science from Harbour.Space University. His main professional interest is Machine Learning Theory Research, and he’s an independent researcher.

See full profile

Apply for this course

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

Algorithms and Data Structures

by Anier Velasco Sotomayor

Total hours

45 Hours

Dates

Feb 20 - Mar 10, 2023

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.