Principles of Software System ConstructionFall 2011Lecture: Tuesday/Thursday 12:00-1:20, Doherty 1212 12 units Section: Monday 4:30-5:20, Wean 4220 (sections offered at alternate times by request) |
Date |
Topic |
Notes |
Assignment |
Introduction |
|||
Aug 30 |
Course
Introduction; Concept of Objects |
01-intro.pdf; HelloWorld.java |
|
Objects | |||
Aug 31 |
Recitation:
Java Warmup |
||
Sep 1 |
Graphs and their Interfaces | ||
Sep 5 |
Labor
day - no section |
||
Sep 6 |
Classes: Graph Implementation |
Assignment 0: Java Warmup |
|
Sep 8 |
Reasoning about Objects |
||
Sep 12 |
Recitation:
More Java, JUnit, and Assertions |
||
Sep 13 |
Interface Hierarchy, Behavioral
Subtyping |
account.zip |
|
Sep 15 | Reuse with Interfaces and
Inheritance |
Assignment 1: Social Graphs at Facelook (part 1) | |
Sep 19 |
Recitation:
Inheritance |
||
Sep 20 |
Reuse with Inheritance in Java
Collections |
collections.zip |
Assignment 1: Social Graphs at Facelook (part 2) |
Sep 22 | Inheritance and Dispatch
Semantics |
method-dispatch.pdf, dispatch-exercize.zip |
|
Sep 26 |
Recitation:
Design Practice with Inheritance |
||
Sep 27 | Graphical User Interfaces with
Swing |
09-swing.pdf |
|
Sep 29 | I/O and streams |
Assignment 2: Objects in a
Virtual Environment |
|
Oct 3 |
Recitation:
Coding GUIs |
||
Design | |||
Oct 4 |
Design: patterns introduction |
11-design-patterns.pdf |
|
Oct 6 |
Design: more patterns | Assignment 3: Graphical User Interface | |
Oct 10 |
Recitation:
Design patterns exercise |
||
Oct 11 |
Design: principles behind the patterns | ||
Oct 13 | Design:
patterns into systems |
|
|
Oct 17 |
Recitation: Pattern presentations | Assignment 4: Pattern Mining | |
Oct 18 | Midterm Review | ||
Oct 20 |
Midterm
exam |
||
Concurrency and Advanced Design |
|||
Oct 24 |
Recitation: | ||
Oct 25 | Concurrency: introduction (WLS) | ||
Oct 27 | Concurrency: approaches (WLS) | ||
Oct 31 |
Recitation:
Concurrency exercise 1 |
||
Nov 1 |
Frameworks |
19-frameworks.pdf |
|
Nov 3 |
Frameworks, continued |
Assignment 5: Structured
Concurrency |
|
Nov 7 |
Recitation:
Frameworks |
||
Nov 8 |
no class |
||
Nov 10 | Concurrency: sharing and data structures (WLS) | Assignment 6: Framework Design |
|
Nov 14 |
Recitation: Concurrency exercise 2 |
|
|
Analysis | |||
Nov 15 | Concurrency: algorithms and data structures (WLS) | Assignment 7: Design Review | |
Nov 17 | Concurrency: algorithms and data structures 2 (WLS) | |
|
Nov 21 |
Recitation: Framework Design presentations | Assignment 8: Framework Implemented | |
Nov 22 |
Static analysis introduction |
static-analysis.pdf |
|
Nov 28 |
Recitation:
Static Analysis |
||
Nov 29 |
Static analysis for concurrency | analysis-concurrency.pdf |
|
Dec 1 |
Distributed
Systems |
network-examples.zip |
Assignment 9: Framework Plugins Implementation and Analysis |
Dec 5 |
Recitation:
Framework Plugin presentations |
||
Wrap-up | |||
Dec 6 |
Final exam review / Dynamic analysis for concurrency (WLS) | ||
Dec 8 |
Course summary | Assignment 10: Unstructured
Concurrency, Distribution, and Analysis |
|
Dec 15 |
Final
Exam (1-4pm, GHC 4211) |