Schedule
See the lectures page for a fine-grained list of chapter sections and online readings that contain core material for this course, as well as reminders of post-lecture tasks. Remember: it is best to skim the required reading before its associated lecture.
Day | Date | Lecture | Discussion | Work due |
---|---|---|---|---|
Tue | Aug 22 | Lecture 1: Overview, structured programming [slides, code] |
Discussion 1: Introductions [code] |
|
Wed | Aug 23 | |||
Thu | Aug 24 | Lecture 2: Objects [slides, code] |
||
Fri | Aug 25 | Discussion activity 1 | ||
Mon | Aug 28 | Quiz 1 | ||
Tue | Aug 29 | Lecture 3: Abstraction, encapsulation [slides, code] |
Discussion 2: Object diagrams, arrays | Syllabus quiz |
Wed | Aug 30 | A1 | ||
Thu | Aug 31 | Lecture 4: Specifications, testing [slides, code] |
||
Fri | Sep 1 | Discussion activity 2 | ||
Mon | Sep 4 | Labor Day | ||
Tue | Sep 5 | Lecture 5: Interfaces, subtyping [slides, code] |
Discussion 3: Designing and testing classes [code] |
Quiz 2 (10am), add deadline |
Wed | Sep 6 | |||
Thu | Sep 7 | Lecture 6: Inheritance, dynamic dispatch, equality [slides, code] |
||
Fri | Sep 8 | Discussion activity 3 | ||
Mon | Sep 11 | Quiz 3 | ||
Tue | Sep 12 | Lecture 7: Exceptions, I/O [slides, code] |
Discussion 4: Prelim review, I/O [slides, staff solutions, I/O code] |
|
Wed | Sep 13 | |||
Thu | Sep 14 | Lecture 8: Bags, Generics [slides, code] |
A2 | |
Fri | Sep 15 | Discussion activity 4 | ||
Mon | Sep 18 | Quiz 4 | ||
Tue | Sep 19 | Lecture 9: Linked Structures [slides, code] |
Discussion 5: Java collections [code, slides] |
Prelim 1 |
Wed | Sep 20 | |||
Thu | Sep 21 | Lecture 10: Ordered collections [slides, code] |
||
Fri | Sep 22 | Discussion activity 5 | ||
Mon | Sep 25 | |||
Tue | Sep 26 | Lecture 11: Efficiency [slides] |
Discussion 6: Iterators [code, slides] |
Quiz 5 (10am) |
Wed | Sep 27 | |||
Thu | Sep 28 | Lecture 12: Recursion [slides, code] |
||
Fri | Sep 29 | Discussion activity 6 | ||
Mon | Oct 2 | A3, Quiz 6 | ||
Tue | Oct 3 | Lecture 13: Trees I [slides, code] |
Discussion 7: Binary search trees | |
Wed | Oct 4 | |||
Thu | Oct 5 | Lecture 14: Trees II [slides, code] |
||
Fri | Oct 6 | Discussion activity 7 | ||
Oct 7–10 | Fall break | |||
Wed | Oct 11 | (no discussion) | ||
Thu | Oct 12 | Lecture 15: Loop invariants [slides, code] |
||
Fri | Oct 13 | |||
Mon | Oct 16 | Quiz 8, drop deadline | ||
Tue | Oct 17 | Lecture 16: Sorting [slides, code] |
Discussion 8: Loop invariants [code, slides] |
|
Wed | Oct 18 | |||
Thu | Oct 19 | Lecture 17: Hash tables [slides, code] |
||
Fri | Oct 20 | Discussion activity 8 | ||
Mon | Oct 23 | A4, Quiz 9 | ||
Tue | Oct 24 | Lecture 18: Graphical User Interfaces [slides, code] |
Discussion 9: Hash tables [code] |
|
Wed | Oct 25 | |||
Thu | Oct 26 | Lecture 19: Event-driven programming [slides, code] |
||
Fri | Oct 27 | Discussion activity 9 | ||
Mon | Oct 30 | Quiz 10 | ||
Tue | Oct 31 | Lecture 20: Concurrency [slides, code] |
Discussion 10: GUIs [code] |
|
Wed | Nov 1 | |||
Thu | Nov 2 | Lecture 21: Synchronization [slides, code] |
||
Fri | Nov 3 | Discussion activity 10 (accepted Sat) |
||
Mon | Nov 6 | Quiz 11 | ||
Tue | Nov 7 | Lecture 22: Graphs [slides, code] |
Discussion 11: Prelim review, synchronization [slides, staff solutions] |
|
Wed | Nov 8 | A5 | ||
Thu | Nov 9 | Lecture 23: Graph traversals [slides, code] |
||
Fri | Nov 10 | Discussion activity 11 | ||
Mon | Nov 13 | Quiz 12 | ||
Tue | Nov 14 | Lecture 24: Shortest paths [slides, code] |
Discussion 12: Graph traversals |
Prelim 2 |
Wed | Nov 15 | |||
Thu | Nov 16 | Lecture 25: Heaps [slides, code] |
||
Fri | Nov 17 | |||
Mon | Nov 20 | Quiz 13 | ||
Tue | Nov 21 | Lecture 26: Assessment [slides, code] |
(no discussion) | |
Nov 22–26 | Thanksgiving break | |||
Mon | Nov 27 | |||
Tue | Nov 28 | Lecture 27: Software engineering [slides, code] |
Discussion 13: Heaps, A6 | |
Wed | Nov 29 | |||
Thu | Nov 30 | Lecture 28: The Java ecosystem [slides] |
||
Fri | Dec 1 | |||
Mon | Dec 4 | A6, Background survey | ||
Tue | Dec 5 | |||
Wed | Dec 6 | |||
Thu | Dec 7 | Final exam review session (6:00 PM, Gates G01) | Course evaluation, Late submissions (A6, background survey) | |
Fri | Dec 8 | |||
Sat | Dec 9 | Final exam (2:00 PM) |