2.2 Computer Science Fundamentals
Learn how to make a computer do what you want, elegantly and efficiently.
Algorithmic Thinking
Looping
Conditional Logic
Complex Logic
Manipulating Numbers
Puzzles with Inputs
Arrays
Repetition and Arrays
Searching an Array
Binary Search
Compare and Swap
Sorting an Array
Insertion Sort
Timing Programs
Counting Operations
Best and Worst Case
Average Case
Comparing Algorithms
Understanding Big O
The Mathematics of Big O
The Stable Matching Problem
Using Greediness
Deferred Acceptance Algorithm
Correctness
Termination
Running Time
Variants
Course description
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.
Topics covered
- Algorithmic Thinking
- Algorithmic Correctness
- Pseudocode
- Variables
- Conditionals
- Repetition
- While loops
- For loops
- Binary search
- Selection sort
- Insertion sort
- Stable matching
- Algorithmic complexity
Prerequisites
Up next
3.1 Next Steps in Python
Boost your proficiency in Python by learning how to access social media data with public functions.
Jump ahead