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