Syllabus | Home page |
Week | Date | Topic | Readings and Presentations |
Assignments (Tuesdays)
Oral Assessment Guides (Outside of class) |
In-Class Exercises | ShowMe Link |
---|---|---|---|---|---|---|
1 | Tuesday, Aug-25 Thursday, Aug-27 |
Class Overview Contracts; Liskov 1-3 |
Online Class Structure
Contract Slides |
|
In-Class 1 |
|
2 | Tuesday, Sep-1 Thursday, Sep-3 |
Exceptions
More Exceptions |
Liskov 4
Bloch 10 |
Assignment 1 Due
Guide 1 |
In-Class 2
In-Class 3 |
Finding Pre/Post Conditions |
3 | Tuesday, Sep-8 Thursday, Sep-10 |
Basic Data Abstraction
Basic Mutability |
IntSet.java,
Poly.java
Liskov 5.1-5.4 |
Assignment 2 Due
Guide 2 |
In-Class 4
In-Class 5 |
Basic Immutability |
4 | Tuesday, Sep-15 Thursday, Sep-17 |
More Basic Mutability
Abstraction Functions/Rep-Invariants |
AF/RI Overview |
Assignment 3 Due
Guide 3 |
In-Class 6
In-Class 7 |
Map Poly |
5 | Tuesday, Sep-22 Thursday, Sep-24 |
More AF/RI
Method Verification |
Method Verification (Rest of Liskov 5) |
Assignment 4 Due
Guide 4 |
In-Class 8
In-Class 9 |
Method Verification Verification Example |
6 | Tuesday, Sep-29 Thursday, Oct-1 |
More Verification
Recap 1: Putting concepts together. |
|
Assignment 5 Due
Guide 5 |
In-Class 10
In-Class 11 |
Testing While Verifying
|
7 | Tuesday, Oct-6 Thursday, Oct-8 |
Type Abstraction
More Type Abstraction |
Liskov 7
|
Assignment 6 Due
Guide 6 |
In-Class 12
In-Class 13 |
Method Rule |
8 | Tuesday, Oct-13 Thursday, Oct-15 |
Object Class Methods More Object Class Methods |
Bloch Chapter 3
More Bloch 3 |
Assignment 7 Due
Guide 7 |
In-Class 14
In-Class 15 |
Equals Contract
Broken Clone Broken hashCode |
9 | Tuesday, Oct-20 Thursday, Oct-22 |
More Object Class Methods Classes and Interfaces |
More Bloch 3
Bloch Chapter 4 |
Assignment 8 Due
Guide 8 |
In-Class 16
In-Class 17 |
Composition vs. Inheritance |
10 | Tuesday, Oct-27 Thursday, Oct-29 |
More Classes and Interfaces Yet More Classes and Interfaces |
More Bloch 4
|
Assignment 9 Due
Guide 9 |
In-Class 18
In-Class 19 |
Dynamic Dispatching
|
11 | Tuesday, Nov-3 Thursday, Nov-5 |
No Class - Election Day
Java Generics |
Bloch Chapter 5 |
Guide 10 |
In-Class 20 |
Generic vs. Not Bloch Item 28 |
12 | Tuesday, Nov-10 Thursday, Nov-12 |
More Java Generics
Lambdas and Streams |
More Bloch 5
Bloch Chapter 7 (Item 42) |
Assignment 10 Due
Guide 11 |
In-Class 21
In-Class 22 |
Bloch Item 30 |
13 | Tuesday, Nov-17 Thursday, Nov-19 |
Enums and Annotations
Object Initialization |
Bloch Chapter 6
Bloch Chapter 2(Item 2) |
Assignment 11 Due
Guide 12 |
In-Class 23
In-Class 24 |
|
14 | Tuesday, Nov-24 Thursday, Nov-26 |
Recap 2: Putting concepts together
No Class - Thanksgiving |
Assignment 12 Due
|
In-Class 25
|
Bloch Item 50
|
|
15 | Tuesday, Dec-1 Thursday, Dec-3 |
Review
Course Wrap Up |
Final Exam Notes
Code for final |
|
In-Class 26
|
|
16 |
Thursday, Dec-10 |
Final Exam | 7:30AM!!!!! |
Lecture slides are prone to modification up to their presentation.
Except for the first class, I expect students to have completed the reading prior to class on the date listed. Quizzes may occasionally take advantage of this expectation.
Homework assignments are due on the date listed. Quizzes are posted, with solutions, on Blackboard following the class in which the quiz is given.