Topic and Lecture Notes | Reading | Assignments Due |
Mon Aug 22: Introduction, Java review [lec01 (PDF)] | ||
Wed Aug 24: Java review | Appendix sections A.1 - A.5 | |
Fri Aug 26: Java review | Sec A.6 - A.10 | |
| ||
Mon Aug 29: Software design | Sec 1.1 - 1.3 | |
Wed Aug 31: ADTs, interfaces, pre/postconditions | Sec 1.4 - 1.5 | |
Fri Sep 2:
Case study |
Sec 1.6 - 1.8 | |
| ||
Mon Sep 5: Error types, exceptions [lec02 (PDF)] | Sec 2.1 - 2.4 | |
Wed Sep 7: Testing and debugging | Sec 2.5 - 2.6 | |
Fri Sep 9: Reasoning about programs, efficiency | Sec 2.7 - 2.8 | |
| ||
Mon Sep 12: Catch-up day |
|
|
Wed Sep 14: Inheritance [lec03 (PDF)] | Sec 3.1 - 3.3 | |
Fri Sep 16: Inheritance (cont.) | Sec 3.4 - 3.6 | |
| ||
Mon Sep 19: Case study: shapes | Sec 3.7 | |
Wed Sep 21: Event-oriented GUI programming | Sec C.1 - C.2 | |
Fri Sep 23: Layouts and components | Sec C.3 - C.5 | |
| ||
Mon Sep 26: Events and case study | Sec C.6 - C.7 | |
Wed Sep 28: List and ArrayList | Sec 4.1 - 4.2 | |
Fri Sep 30: Implementing lists, iterators | Sec 4.3 - 4.5 | |
| ||
Mon Oct 3: Doubly-linked/ordered lists | Sec 4.6 - 4.7 | |
Wed Oct 5: Review/catch-up | Sec 4.8 | |
Fri Oct 7: MIDTERM EXAM *** | ||
| ||
Mon Oct 10: NO CLASS | ||
Wed Oct 12: Stacks | Sec 5.1 - 5.2 | |
Fri Oct 14: Implementing stacks | Sec 5.3 | |
| ||
Mon Oct 17: Stack applications | Sec 5.4 | |
Wed Oct 19:
Queues Source code: ArrayQueue |
Sec 6.1 - 6.2 | |
Fri Oct 21: Implementing queues | Sec 6.3 | |
| ||
Mon Oct 24: Simulations and queues | Sec 6.4 | |
Wed Oct 26: Recursion | Sec 7.1 - 7.3 | |
Fri Oct 28: Recursive data structures | Sec 7.4 - 7.5 | |
| ||
Mon Oct 31: Backtracking | Sec 7.6 | |
Wed Nov 2: Trees | Sec 8.1 - 8.2 | |
Fri Nov 4: Binary trees | Sec 8.3 - 8.4 | |
| ||
Mon Nov 7: Heaps and priority queues | Sec 8.5 | |
Wed Nov 9: Huffman trees, catch-up | Sec 8.6 | |
Fri Nov 11: Sorting | Sec 10.1 - 10.3 | |
| ||
Mon Nov 14: More sorting | Sec 10.4 - 10.6 | |
Wed Nov 16: Merge sort, heap sort, quicksort | Sec 10.7 - 10.9 | |
Fri Nov 18: Sets, maps | Sec | |
| ||
Mon Nov 21: Hash tables | Sec | |
Wed Nov 23: NO CLASS | ||
Fri Nov 25: NO CLASS | ||
| ||
Mon Nov 28: Graphs, implementation | Sec | |
Wed Nov 30: Graph traversals, applications | Sec | |
Fri Dec 2: Review | ||
| ||
Thu Dec 8: Final Exam (8 - 10 AM) |