Draft CS/SWE 332 Course Schedule



Syllabus Updates Home page

   Object-Oriented Software Design and Implementation
Fall 2011


 Week  Date Topic Readings and Presentations Quizzes (Tuesdays) Assignments (Thursdays)
1 Tuesday, August 30
Thursday, September 1
Class Overview
Contracts
332 Overview Slides
Contract Slides
   
2 Tuesday, September 6
Thursday, September 8
Methods
Java Exceptions
Bloch Chapter 7
Java Slides Bloch Chapter 9
Guide 1 Assignment 1
3 Tuesday, September 13
Thursday, September 15
C++ Primer; C++ Exceptions
JUnit/Tests for Contracts
Kak 1, 2 Kak 10
JUnit Advanced JUnit www.junit.org
Guide 2 Assignment 2
Tuesday, September 20
Thursday, September 22
Abstraction Functions
Data Type Contracts
AF/RI Overview
Via example in class.
Guide 3 Assignment 3
5 Tuesday, September 27
Thursday, September 29
Representation Invariants/C# Contracts
More on tests and contracts: TDD
C# Contract Documentation
The Agile Heresy TDD Overview
Guide 4 Assignment 4
6 Tuesday, October 4
Thursday, October 6
Method Verification
More Method Verification; javaDoc
Method Verification
Oracle javaDoc javaDoc guide JavaDoc Slides
Guide 5 Assignment 5
 7 Tuesday, October 11
Thursday, October 13
No Tuesday Class - Columbus Break
Mutability
 
Mutability Slides
  Assignment 6
8 Tuesday, October 18
Thursday, October 20
More Mutability
C++ Mutability
In class example.
C++ const Slides
Guide 6 Assignment 7
9 Tuesday, October 25
Thursday, October 27
Java Creation/Destruction
Substitution Principle
Bloch Chapter 2
Substitution Principle
Guide 7 Assignment 8
10 Tuesday, November 1
Thursday, November 3
Substitution and Common Contracts
C++ Creation/Destruction
Bloch Chapter 3
Kak 15
Guide 8 Assignment 9
11 Tuesday, November 8
Thursday, November 10
More C++ Creation/Destruction
Classes and Interfaces
More Kak 15
Bloch Chapter 4
Guide 9 Assignment 10
12 Tuesday, November 15
Thursday, November 17
Multiple Inheritance
Java Generics
Kak 16
Bloch Chapter 5
Guide 10 Assignment 11
13 Tuesday, November 22
Thursday, November 24
Revisiting Key Topics
No Thursday Class - Thanksgiving Break
Effective C# Items 6, 9
Guide 11  
14 Tuesday, November 29
Thursday, December 1
C++ Generics
Enums and Annotations
Kak 13
Bloch Chapter 6
Guide 12 Assignment 12
15 Tuesday, December 6
Thursday, December 8
General Programming
Course Wrap Up
Bloch Chapter 8
Course Review Slides
Guide 13 Assignment 13
16 Thursday, December 15
10:30AM-1:15PM
Final Exam      


Schedule Notes

The schedule is approximate, and topics and/or dates will almost certainly change. I expect to reorder some material as the semester progresses.

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, following the class in which the quiz is given.

C# material will be integrated as the semester proceeds.