CS114
Basics of Algorithms

Faculty
Anier Velasco Sotomayor
Lead at the ML Theory group at Cohere for AI Open Science community.
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
This course will teach algorithms and data structures from various areas of computer science. The students will solve both theoretical and practical problems.
Learning highlights
- Learn different basic algorithms
- Analyze time complexity and memory consumption
- Learn how to implement these algorithms efficiently
Course outline
15 classes
Session 1
Intro to Algorithms. Computational Models. Complexity. Basic sorting. Kadane’s algorithm.
Session 2
Prefix Sum. Binary Search.
Session 3
Amortized Complexity. Two pointers. More sorting algorithms. Sorting lower bound.
Session 4
Data structures I: linked lists, stacks, queues, dynamically sized arrays.
Session 5
Data Structures II: Heaps, Binary Search Trees (without balancing).
Session 6
Basic Number Theory: prime factorization, gcd, modular arithmetic.
Session 7
String Matching: Rabin Karp’s, Polynomial Hashing.
Session 8
String Algorithms II: Trie, Hash Table.
Session 9
Greedy thinking. Classical greedy problems.
Session 10
Brute-forcing: Backtracking. Bitmasks.
Session 11
Graph Algorithms I: DFS, BFS.
Session 12
Graph Algorithms II: Dijkstra’s, Floyd-Warshall’s.
Session 13
Dynamic Programming I.
Session 14
Dynamic Programming II.
Session 15
Dynamic Programming III.
Prerequisites
Ability to code simple programs (preferably on python).
Combinatorics.
Discrete Math.
Methodology
There will be daily assignments, where students must solve coding problems and submit them to an automatic grading system. Each session will start with a seminar, where students will discuss the problems from the previous homework. Then, the session moves into a lecture where a new topic is discussed, including some problem-solving about that topic.
Grading
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 profileApply for this course
Basics of Algorithms
by Anier Velasco Sotomayor
Total hours
45 Hours
Dates
Jul 29 - Aug 16, 2024
Fee for single course
€2999
Fee for degree students
€1999
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.



