1: Time Complexity & Array & ArrayList; Java Data Type & JVM
2: LinkedList, Stack, Queue ; Sorting Algorithms
3: Binary Search & Binary Search Tree; Heap & Graph
4: DFS & BFS
5: Hash; Topological Sort & Union Find;
6: Dynamic Programming
7: Bit Manipulation & String
8: Midterm; Object Oriented Design