I took COMS W3134 Data Structures in Java in 17 spring semester, which is a required course for Computer Science related major students at Columbia University. This course is taught by Professor Paul Blaer. It was a really fun class.
The topics dicussed in this course includes:
- Abstract Data types
- Basic proofs by induction
- Recursion
- Java OOP
- Generic programming
- Inner classes
- Iterator
- Comparable
- Big-O notation
- Growth of functions
- ArrayList
- LinkedList
- Binary Tree
- Binary Search Tree
- AVL Tree.
- Binary Heap
- Selection Sort
- Insertion Sort
- Heap Sort
- Merge Sort
- Quick Sort
- Graph theory
- Shorest paths and Dijsktra's Algorithm
- Minimum Spanning Tree - Prim's Algorithm and Kruskal Algorithm
- TSP problem (Nearest Neighbor Approximation, Brute Force Solution)
- P vs NP and NP-completeness.