The following schedule is subject to change based on the progress of the class.
Date | Topic | Assignment Out |
---|---|---|
9/7 | Introduction | |
9/9 | Java Syntax 101; Memory models & arrays | |
9/12 | OOP pt. 1: classes | |
9/14 | OOP pt. 2: interfaces & inheritance; scope | A2 |
9/16 | OOP pt. 3: generics (ArrayLists) | |
9/19 | Maps (python alias: Dictionaries) | |
9/21 | HashTable implementation | A3 |
9/23 | HashMaps, Sets, etc. | |
9/26 | Exceptions & Testing | |
9/28 | Stacks & Queues & Deques, oh my! | A4 |
9/30 | Implementation | |
10/3 | Recursion | |
10/5 | Wrapping up recursion | A5 |
10/7 | Sequence operations: split and append | |
Fall Break | ||
10/12 | Lists & iterators | |
10/14 | Insert and remove | Midterm |
10/17 | Midterm review | A6 |
10/19 | Copying lists | |
10/21 | Choosing the right data structure | |
10/24 | Sorting pt. 1: Algorithms | |
10/26 | Sorting pt. 2: on specific data structures | A7 |
10/28 | Builtin sort on collections | |
10/31 | Trees | |
11/2 | Binary trees | A8 |
11/4 | Traversal | |
11/7 | Binary Search Trees | |
11/9 | TreeMap, TreeSet, etc. | A9 |
11/11 | Data Structure “mashups” | |
11/14 | Graphs | |
11/16 | Third-party packages: guava |
FP1 |
11/18 | Adjacency Matrices, Edge Matrices, Linked structures | |
11/21 | Special topic: Graphics in Java | |
Thanksgiving Break | ||
11/28 | Traversal | |
11/30 | Shortest path | FP2 |
12/2 | Maxflow / mincut | |
12/5 | TBD | |
12/7 | TBD | |
12/9 | Semester review | (Mastery / Catch Up) |
12/12 | Final Project Demonstration Day | |
Final Exams |