CMSC 433, Spring 2006

Programming Language Technologies and Paradigms

Lectures

DateTopic
1/25/06Introduction and Discussion of Java generics (slides updated 2/6).
1/30/06Overview of the tools on the Resources page, and Testing.
2/1/06Specifications.
2/6/06More on Java generics.

Design Patterns

2/8/06Introduction to Design Patterns (including the Strategy pattern), and the Observer pattern.
2/13/06Java 5.0's Observable implementation, and the Decorator pattern.
2/15/06More on the Decorator pattern. The Factory Method and Abstract Factory patterns.
2/20/06The Singleton pattern and the Command pattern (notes updated 2/22).
2/22/06More on the command pattern. The iterator pattern (chap 9).
2/27/06The Composite pattern (chap 9) and Visitor pattern (book: chap 14, here are some slides).
3/1/06The Visitor pattern.
3/6/06The Proxy pattern and Adapter pattern.

Concurrency

3/8/06Threads, part I
3/13/06Threads, part II
3/13/06Concurrency Design patterns
3/15/06Producer/Consumer and more Design patterns
3/27/06Midterm review
4/3/06Completed discussion of concurrency design patterns.
4/5/06Java 1.5 concurrency utilities
4/10/06Synchronization for visibility

Distributed Computing

4/12/06RMI (see also HFDP Chap 11, pps. 437-459)
4/17/06Programming Puzzlers
4/19/06Discussion of Project 6, Serialization, and Reflection (and more)
5/3/06Enterprise Applications and sample code

Security

4/24/06Java security and supplemental slides and example code
4/26/06Reflections on Trusting Trust and Stack smashing. Lecture slides.
5/1/06Jif (Java for Information Flow)

Miscellaneous

5/8/06Memory Management
5/10/06Final review