Programming

Programming styles and approaches.

Algorithms

Algorithms and datastructures.

Functional Programming

Everyone should understand some about Functional Programming.