Draft CS/SWE 332 Course Schedule



Syllabus Home page

   OO Software Design and Implementation
Fall 2020


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


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.