| Date | Lecture topic | Projects given | Projects due |
| 1/29 | Intro and motivation, background material, software engineering issues | | |
| 2/5 | Description of the project, J2EE architecture | | |
| 2/12 | J2EE deployment and security policy | Stage 1 | |
| 2/19 | Security-related trade-offs for distributed computing | | |
| 2/26 | Class design for security | | Stage 1 |
| 3/4 | Buffer overflows and race conditions | Stage 2 | |
| 3/11 | Exception handling and persistence for security | | |
| 3/18 | Securing communication channels | | |
| 3/25 | Authentication | | |
| 4/1 | Group presentations | Stage 3 | Stage 2 |
| 4/8 | No class --- spring break | | |
| 4/15 | J2SE security model | | |
| 4/22 | J2SE security model, class loading | Stage 4 | Stage 3 |
| 4/29 | Code obfuscation, watermarking, tamperproofing | | |
5/13 | Final reports | | Stage 4 |