Subject to change with minimal notice. In particular, we'll add x-hours as necessary.
In the list of readings below, PSDS refers to Problem Solving with Data Structures: A Multimedia Approach. Other readings are from Data Structures and Algorithms.
Monday, January 4: Introduction. Object-oriented programming and Java. Reading: Chapter 1; Chapter 1, Sections 2.1-2.2 (PSDS). Short assignment 0 out.
Wednesday, January 6: Classes and objects. Reading: Sections 2.3-2.4 (PSDS). Short assignment 1 out.
Thursday, January 7 (x-hour): Finish classes and objects. Arrays. Interfaces and polymorphism. Reading: Ch. 2 (except 2.4), 3.1.
Friday, January 8: Inheritance. Reading: Section 7.1-7.2. Short assignment 2 out.
Monday, January 11: ArrayLists, Image processing. Reading: Ch. 3 (PSDS). Short assignment 3 out.
Wednesday, January 13: Linked lists. Ch. 3.2-3.5. Lab assignment 1 out. Short assignment 4 out.
Friday, January 15: Graphics, GUI components, Listeners, Callbacks.
Monday, January 18: No class.
Wednesday, January 20: More on GUIs.
Friday, January 22: Abstract Classes.
Monday, January 25: Review of Algorithm Analysis. Stacks, Queues, Dequeues. Reading: Chapters 4 and 6.
Wednesday, January 27: Iterators, with List examples. Reading: Sections 7.3-7.5. Lab assignment 3 out. Short assignment 6 out.
Friday, January 29: Trees. Reading: Chapter 8. Short assignment 7 out.
Monday, February 1: Traverals, Expression Trees, Exceptions.
Wednesday, February 3: Heaps and Priority Queues. Reading: Section 2.4 and Chapter 9. Lab assignment 4 out. Short assignment 8 out.
Friday, February 5: Maps, Sets, and Instant Runoff Elections. Reading: Section 10.1, 10.5. Short assignment 9 out.
Monday, February 8: Hash tables. Reading: Sections 10.2-10.3.
Wednesday, February 10: Binary Search Trees. Reading: Section 11.1
Thursday, February 11 (x-hour): Review for Midterm. Midterm at 6:30 pm, LSC 100.
Friday, February 12: Graphs and their Representations. Reading: Sections 14.1-14.2. Short assignment 10 out.
Monday, February 15: Graph traversals (BFS, DFS). Reading: Section 14.3.
Wednesday, February 17: Shortest Paths (Dijkstra's) and A* search. Reading: Section 14.6. Lab assignment 5 out.
Friday, February 19: More GUIs. Search - Backtracking. Short assignment 11 out.
Monday, February 22: Game tree search.
Wednesday, February 24: Kalah and the Model/View/Controller Pattern. Lab assignment 6 out. Short assignment 12 out.
Thursday (optional x-hour),February 25: More on backtracking and alpha-beta pruning of game trees.
Friday, February 26: Balanced binary search trees. Reading: Sections 11.2, 11.5, 11.6.
Monday, February 29: Skip Lists. Reading: Section 10.4.
Wednesday, March 2: Edit distance. Spelling corrector.
Friday, March 4: Concurrency and Threads. Synchronization
Monday, March 7: Concurrency and Deadlocks.
Wednesday, March 9, 10 am: Review for the final exam. 008 Kemeny.
Saturday, March 12, 11:30 am. Final exam. 104 Wilder