CS · Level 3

3.1 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

Decision Trees

Fewer Questions

Binary Search

Parallelism

Pipelining

Resource Tradeoffs

Resource Allocation

Abstraction

Interfaces

The Bridges of Königsberg

Brute Force

Thinking with Graphs

Eulerian Paths

Representing Games and Puzzles

Completing the Graph

Graph Search


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 4

4.1 How LLMs Work

Take a peek under the hood of large language models (LLMs) to understand how they work.

Jump ahead