Tentative Schedule

Week Day Topics Reading Recordings
1 1 Introduction and OO Review 1.1-1.5, Skim A1-A7 Lecture 1.1
2 UML, Arrays, and Memory A8-9, B1 Lecture 1.2
3 Exception Handling I 1.6-1.7, A11-12 Lecture 1.3
2 1 Exception Handling II Recording Failed :-(
2 Files and Directories Lecture 2.2
3 Binary Files and Object I/O
4 JavaFX Basics JavaFX Lecture 2.3
3 1 JavaFX and Event Handling slides Lecture 3.1
2 Event Handling and Inner Classes Event Handling
3 FXML Markup Language Reading slides Lecture 3.3
4 Functional Programming I Lecture 3.4
4 1 Functional Programming II slides
2 Algorithm Efficiency and Big-O 2.1 Lecture 4.2
3 Generics Lecture 4.3
4 Array Lists I 2.2-2.4 Lecture 4.4
5 1 Array Lists II Lecture 5.1
2 Review
3 Midterm Exam I
6 1 Linked Lists I 2.5 Lecture 6.1
2 Linked Lists II 2.6 Lecture 6.2
3 Iterators 2.7-2.10 Lecture 6.3
4 Testing Lecture 6.4
7 1 Catch-Up 3 Lecture 7.1
2 Stacks and Queues 4.1-4.7 Lecture 7.2
3 Circular Queues
4 More Iterators Lecture 7.3
8 1 Binary Search 5.3
2 Recursion I 5.1-5.2 Lecture 8.2
3 Recursion II 5.3-5.6 Lecture 8.3
4 Binary Trees and Binary Search Trees 6.1, 6.3 Lecture 8.4
9 1 Binary Search Trees 6.5
2 Trees and Tree Traversals 6.2, 6.4 Lecture 9.1
3 Catch Up Lecture 9.2
4 Class Exercise Lecture 9.3
10 1 Review Lecture 10.1
2 Practice Exam
3 Midterm Exam II
11 1 Sets and Maps 7.1-7.2 Lecture 11.1
2 Hash Tables 7.3-7.4 Lecture 11.2
3 Hashing and Collision Handling 7.5-7.6 Lecture 11.3
4 More Collision Handling Lecture 11.4
12 1 Selection and Insertion Sort 8.1-8.3 Lecture 12.1
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