- Complexity of algorithms
- Probabilistic Analysis and Randomized Algorithms
- Sorting
- Heap Sort
- Quick Sort
- Sorting in linear time
- Data structures
- Elementary data structures
- Hash tables
- Binary search trees
- Algorithms
- Dynamic programming
- Greedy algorithms