Lessons - Main

An Introduction to Dynamic Programming

An introduction to iterative dynamic programming.

Binary Search

A basic introduction to a fundamental algorithm: Binary Search!

Binary Search Trees

An introduction to the fundamental yet complex data structure: The Binary Search Tree.

Bubble Sort

An outline of a simple sorting algorithm; bubble sort!


Learn about concise constructions for collections.

Contest Formatting

Learn about common input/output patterns for contests!

Control Flow Statements

Learn about manual control flow statements!


An introduction to the fundamental data structure deque.

Difference Array

A introduction to the quick update array!


Learn about exceptions and how to handle them!