Computer Science practice material. Includes algorithms, puzzles, data structures, and some design patterns.