Week |
Day |
Topics |
Reading |
Recordings |
1 |
1 |
Introduction and OO Review |
1.1-1.5, Skim A1-A7 |
|
2 |
UML, Arrays, and Memory |
A8-9, B1 |
|
3 |
Exception Handling I |
1.6-1.7, A11-12 |
|
2 |
1 |
Exception Handling II |
|
|
2 |
Files and Directories |
|
|
3 |
Binary Files and Object I/O |
|
|
4 |
JavaFX Basics |
JavaFX |
|
3 |
1 |
JavaFX and Event Handling |
|
|
2 |
Event Handling and Inner Classes |
Event Handling |
|
3 |
FXML Markup Language |
FXML |
|
4 |
Functional Programming I |
|
|
4 |
1 |
Functional Programming II |
|
|
2 |
Algorithm Efficiency and Big-O |
2.1 |
|
3 |
|
|
|
4 |
Array Lists I |
2.2-2.4 |
|
5 |
1 |
Array Lists II |
|
|
2 |
Review |
|
|
3 |
Midterm Exam I |
|
|
6 |
1 |
Linked Lists I |
2.5 |
|
2 |
Linked Lists II |
2.6 |
|
3 |
Iterators |
2.7-2.10 |
|
4 |
Class Exercise |
|
|
7 |
1 |
Testing |
3 |
|
2 |
Stacks and Queues |
4.1-4.7 |
|
3 |
Circular Queues |
|
|
4 |
More Iterators |
|
|
8 |
1 |
Binary Search |
5.3 |
|
2 |
Recursion I |
5.1-5.2 |
|
3 |
Recursion II |
5.3-5.6 |
|
4 |
Class Exercise |
|
|
9 |
1 |
Binary Trees and Binary Search Trees |
6.1, 6.3 |
|
2 |
Binary Search Trees |
6.5 |
|
3 |
Trees and Tree Traversals |
6.2, 6.4 |
|
4 |
Class Exercise |
|
|
10 |
1 |
Catch Up |
|
|
2 |
Review |
|
|
3 |
Midterm Exam II |
|
|
11 |
1 |
Sets and Maps |
7.1-7.2 |
|
2 |
Hash Tables |
7.3-7.4 |
|
3 |
Hashing and Collision Handling |
7.5-7.6 |
|
4 |
More Collision Handling |
|
|
12 |
1 |
Selection and Insertion Sort |
8.1-8.3 |
|
2 |
Shell and Merge Sort |
8.4-8.6 |
|
3 |
TimSort and QuickSort |
8.7-8.9 |
|
4 |
Class Exercise |
|
|
13 |
1 |
Asymptotic Time Complexity revisited |
|
|
2 |
Asymptotic Space Complexity |
|
|
3 |
No class (Happy Thanksgiving) |
|
|
14 |
1 |
Tree Rotations |
9.1 |
|
2 |
AVL Trees |
9.2 |
|
3 |
More Trees |
|
|
4 |
Deep and Shallow Copies |
|
|
15 |
1 |
How to Pick a Data Structure |
|
|
2 |
Class Exercise |
|
|
3 |
Review |
|
|
16 |
Common Final Exam, 11am-1pm, TBD |