Draft SWE 419 Course Schedule



Syllabus Home page

   OO Software Design and Implementation
Spring 2023


 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
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!!!!!    


Schedule Notes

The schedule is approximate. It is certain that changes will happen over the course of the semester.

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.