List

Persistent Objects
Concurrent Programs
Distributed apps
Web apps
Graphical User Interfaces
The Role of Unit Tests in the Software Process
Loose Ends and Opportunities