Syllabus | Updates |
Meeting | Date | Topic | Reading | Assignment Due | Quizzes |
---|---|---|---|---|---|
1 | January 24 | Class Overview | JUnit | ||
2 | January 31 | Procedural Abstraction; Exceptions | Liskov 1 Liskov 2-3 Liskov 4 Bloch 9 | Assignment 1 | Guide 1 |
3 | February 7 | Data Abstraction | Liskov 5.1-5.4 | Assignment 2 | Guide 2 |
4 | February 14 | Reasoning About Data Abstraction | Liskov 5.5-5.10 | Assignment 3 | Guide 3 |
5 | February 21 | Iteration Abstraction; Method Guidelines | Liskov 6 Bloch 7 | Assignment 4 | Guide 4 |
6 | February 28 | Type Abstraction; Enums and Annotations | Liskov 7 Bloch 6 | Assignment 5 | Guide 5 |
7 | March 7 | Polymorphic Abstraction, Generics | Liskov 8 Bloch 5 | Assignment 6 | Guide 6 |
March 14 | No Class - Spring Break | ||||
8 | March 21 | Concurrency | General Concurrency , Bloch 10 | Assignment 7 | Guide 7 |
9 | March 28 | Specification Checking; Temporal Logic | Slides from Kansas State University: Foundations Temporal Logic Patterns | Assignment 8 | Guide 8 |
10 | April 4 | Common Java Contracts, Classes and Interfaces, JavaDoc | Bloch 3 Bloch 4 JavaDoc | Assignment 9 | Guide 9 |
11 | April 11 | Object Initialization, General Programming, Testing | Bloch 2, Bloch 8, Model Driven Test Design, Agile Development | Assignment 10 | Guide 10 |
12 | April 18 | Design Patterns, Parameterized Unit Testing with Contracts | Liskov 15 Advanced JUnit Tao Xie's Mutation Workshop slides | Assignment 11 | Guide 11 |
13 | April 25 | Specifications, Security | Liskov 9 Gary McGraw's Security Taxonomy | Assignment 12 | Guide 12 |
14 | May 2 | Course Wrap Up | 619 Review Slides | Assignment 13 | Guide 13 |
15 | May 9 | Final Exam |
Homework assignments are due on the date listed. Quizzes are posted, with solutions, on Blackboard following the class in which the quiz is given.