CS · Level 2

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

  • Next Steps in Computer Science
  • Logic

Up next

CS · Level 3

3.1 Next Steps in Python

Boost your proficiency in Python by learning how to access social media data with public functions.

Jump ahead