Tentative Schedule

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