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

23 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 know methods to measure and compare performance, and you’ll have mastered the fundamental problems in algorithms.

- Pseudocode
- Variables
- Conditionals
- Repetition
- While loops
- For loops
- Binary search
- Selection sort
- Insertion sort
- Complexity
- Best, Worst, and Average case analysis
- Big-O notation