Syllabus | Home page |
Week | Date | Topic | Readings Reading Reflections (Due NOON Mondays) |
Quiz Guides (Tuesdays) Assignments (Thursdays) |
In-Class Exercises | ShowMe Link |
---|---|---|---|---|---|---|
1 | Tuesday, Jan-24 Thursday, Jan-26 |
Class Overview Contracts; Liskov 1-3 |
419 Overview Slides
Contract Slides |
Assignment 0 Due |
In-Class 1
In-Class 2 |
Finding Pre/Post Conditions |
2 | Tuesday, Jan-31 Thursday, Feb-2 |
Exceptions
More Exceptions |
Liskov 4
Bloch 10 Reading Reflection 1, Notes |
Guide 1
Assignment 1 Due |
In-Class 3
In-Class 4 |
|
3 | Tuesday, Feb-7 Thursday, Feb-9 |
Basic Data Abstraction
Basic Mutability |
IntSet.java,
Poly.java
Liskov 5.1-5.4 Reading Reflection 2, Notes |
Guide 2
Assignment 2 Due |
In-Class 5
In-Class 6 |
Basic Immutability |
4 | Tuesday, Feb-14 Thursday, Feb-16 |
More Basic Mutability
Abstraction Functions/Rep-Invariants |
AF/RI Overview (Liskov 5.5-5.10)
Reading Reflection 3, Notes |
Guide 3
Assignment 3 Due |
In-Class 7
In-Class 8 | Map Poly |
5 | Tuesday, Feb-21 Thursday, Feb-23 |
More AF/RI
Method Verification |
Method Verification (Liskov 5.5-5.10)
Reading Reflection 4, Notes |
Guide 4
Assignment 4 Due |
In-Class 9
In-Class 10 |
Method Verification
Verification Example |
6 | Tuesday, Feb-28 Thursday, Mar-2 |
Recap 1: Putting concepts together.
Type Abstraction |
Liskov 7 Reading Reflection 5, Notes |
Guide 5
Assignment 5 Due |
In-Class 11
In-Class 12 |
Testing While Verifying
Method Rule |
7 | Tuesday, Mar-7 Thursday, Mar-9 |
More Type Abstraction
Recap |
More Type Abstraction
No reading reflection this week. |
Guide 6
Assignment 6 Due |
In-Class 13
In-Class 14 |
|
8 | Week of March 13-17 | Spring Break - No Class | ||||
9 | Tuesday, Mar-21 Thursday, Mar-23 |
Object Class Methods More Object Class Methods |
Bloch Chapter 3
More Bloch 3 Reading Reflection 6, Notes |
No quiz this week.
Assignment 7 Due |
In-Class 15
In-Class 16 |
Equals Contract
Broken Clone Broken hashCode |
10 | Tuesday, Mar-28 Thursday, Mar-30 |
More Object Class Methods Classes and Interfaces |
More Bloch 3
Bloch Chapter 4 Reading Reflection 7, Notes |
Guide 7
Assignment 8 Due |
In-Class 17
In-Class 18 |
Composition vs. Inheritance |
11 | Tuesday, Apr-4 Thursday, Apr-6 |
More Classes and Interfaces
Yet More Classes and Interfaces |
More Bloch 4
Yet More Bloch 4 No reading reflection this week. |
Guide 8
Assignment 9 Due |
In-Class 19
In-Class 20 |
Dynamic Dispatching
|
12 | Tuesday, Apr-11 Thursday, Apr-13 |
Java Generics
More Java Generics |
Bloch Chapter 5
More Bloch 5 Reading Reflection 8, Notes |
Guide 9
Assignment 10 Due |
In-Class 21
In-Class 22 |
Generic vs. Not
|
13 | Tuesday, Apr-18 Thursday, Apr-20 |
More Java Generics
Lambdas and Streams |
More Bloch 5
Bloch Chapter 7 Reading Reflection 9, Notes |
Guide 10
Assignment 11 Due |
In-Class 23
In-Class 24 code |
|
14 | Tuesday, Apr-25 Thursday, Apr-27 |
Property-Based Testing
Review |
JUnit(esp. slides 23-25)
Reading Reflection 10, Notes |
Guide 11
Assignment 12 Due |
In-Class 25
In-Class 26 |
JUnit Theories |
15 | Tuesday, May-2 Thursday, May-4 |
Review
Open Problem Solving Session |
Final Prep Slides No reading reflection this week. |
No quiz this week.
No assignment this week. |
In-Class 27
In-Class 28 |
|
16 |
Thursday, May-11 |
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.