Learn how to make a computer do what you want, elegantly and efficiently.

15 Lessons

An algorithm is a step-by-step process to achieve some outcome. When algorithms involve a large amount of input data, complex manipulation, or both, we need to construct clever algorithms that a computer can work through quickly.

By the end of this course, you’ll have mastered the fundamental problems in algorithms.

- Pseudocode
- Variables
- Conditionals
- Repetition
- While loops
- For loops
- Binary search
- Selection sort
- Insertion sort
- Stable matching
- Algorithmic complexity