| Date |
Topic |
Reading |
Homework |
| 25-Aug |
Introduction and Course Policies
Lecture Slides |
|
|
| 27-Aug |
Software Product
Lecture Slides |
Somerville, Ch. 1
Software's Chronic Chrisis
No Silver Bullet
|
|
| 1-Sep |
Software Process
Prescriptive Process Models
Lecture Slides |
Somerville, Ch. 4
The Push to Make Software Engineering Respectable
|
|
| 3-Sep |
Agile Process Models
Lecture Slides |
Ch. 4
All I really needed to know about Pair Programming I learned in Kindergarten
Dispelling the Process Myth: Having a Process Does Not Mean Sacrificing Agility or Creativity
|
|
| 8-Sep |
Software Cost Estimation
Lecture Slides |
Somerville, Ch. 26
An Empirical Validation of Software Cost Estimation Models
An Overview of the COCOMO 2.0 Software Cost Model
|
|
| 10-Sep |
Requirements Engineering
Lecture Slides |
Somerville, Ch. 6, 7.
Requirements Engineering: A Roadmap
|
|
| 15-Sep |
Analysis Modeling - 1
Lecture Slides |
Somerville, Ch. 7, 8 |
|
| 17-Sep |
Analysis Modeling - 2
Lecture Slides |
Somerville, Ch. 8 |
|
| 22-Sep |
Classes and Objects; UML
Lecture Slides
Analysis Modeling Exercises |
Somerville, Ch. 8 |
|
| 24-Sep |
Specifying Component Behavior
Lecture Slides |
Ch. 10 |
|
| 29-Sep |
Specifications in Spec#
|
Ch. 10 |
|
| 1-Oct |
Midterm 1 |
|
|
| 6-Oct |
Introduction to Software Design
Lecture Slides |
Iterators Reconsidered
Ten Commandments of Formal Methods
Ten Commandments of Formal Methods... Ten Years Later
|
|
| 8-Oct |
Software Architectural Design
Lecture Slides |
Ch. 11
Non-Functional Requirements
|
|
| 13-Oct |
Object-Oriented Design
Lecture Slides |
Ch. 14
On the Criteria To Be Used in Decomposing Systems into Modules
|
Assignment 2 Handout |
| 15-Oct |
Design Patterns (Template Method, Strategy)
Lecture Slides |
Template Method Pattern Code Example
Strategy Pattern Code Example
|
|
| 20-Oct |
Design Patterns (Factory Method, Abstract Factory, Observer, Iterator)
Lecture Slides |
Factory Method
AbstractFactory
AbstractFactory (with error fixed)
Observer
Iterator
|
|
| 22-Oct |
Design Patterns (Decorator, Singleton, Proxy)
Lecture Slides |
Decorator
Singleton
Proxy
|
|
| 27-Oct |
Refactoring
Lecture Slides |
Video Store code example
Refactored Video Store code example
|
|
| 29-Oct |
Aspect-Oriented Programming
Lecture Slides |
Somerville, Ch. 32
Logging example
Fibonacci example
|
|
| 3-Nov |
Midterm 2 |
|
|
| 5-Nov |
Aspect-Oriented Programming
Aspect J programming
|
Somerville, Ch. 32
Design Pattern Implementation in Java AspectJ
Aspect Association example
Observer pattern using Aspects
Home Security example
Inter Aspect Precedence example
Privileged Aspect example
|
|
| 10-Nov |
Verification and Validation
Lecture Slides |
Ch. 22 |
|
| 12-Nov |
Black-Box Testing, Junit
Lecture Slides |
Ch. 23
JUnit Queue Example
JUnit BijectivePartialMap Example
|
|
| 17-Nov |
White-Box Testing
Lecture Slides |
Ch. 23
Testing Example
|
|
| 19-Nov |
Test generation using Pex
|
|
|
| 24-Nov |
Test generation using Pex
|
|
|
| 26-Nov |
Thanksgiving; Class canceled! |
|
|
| 1-Dec |
Software Model Checking; Verifying Compiler Grand Challenge
Lecture Slides |
|
|
| 3-Dec |
Course Review; Final Exam handout
| |
|
| 8-Dec |
Final Exam Due |
|
|