| Introduction |
| Lecture 1: Thursday, September 2 |
Introduction, Administrative details |
| Lecture 2: Tuesday, September 7 |
On the role of scientific thought, Aspect-oriented Programming: An
Introduction |
| Lecture 3: Thursday, September 9 |
Chapter 1: Introduction to AOP |
| Lecture 4: Tuesday, September 14 |
Decomposing systems into modules
|
| Lecture 5: Thursday, September 16 |
Chapter 2: Introducing AspectJ |
| Lecture 6: Tuesday, September 21 |
Chapter 3, (Page 64-77): AspectJ Syntax Basics - Pointcuts, Signatures. |
| Lecture 7: Thursday, September 23 |
Chapter 3, (Page 78-99): AspectJ Syntax Basics - Advice, Static Crosscutting. |
| Lecture 8: Tuesday, September 28 |
Chapter 4: Advanced AspectJ - Reflection, precedence and association |
| Lecture 9: Thursday, September 30 |
Chapter 5: Monitoring techniques |
| Lecture 10: Tuesday, October 05 |
Chapter 6: Policy enforcement - system-wide contracts
|
| Lecture 11: Thursday, October 07 |
Chapter 7: Optimization - pooling and caching
|
| No Lecture : Tuesday, October 12 |
Reading Holidays |
| Lecture 12: Thursday, October 14 |
Project Phase-1 Presentation (Modularizing simple crosscutting concerns in
Hypercast) |
| Lecture 13: Tuesday, October 19 |
Hypercast discussion |
| Lecture 14: Thursday, October 21 |
Hypercast discussion |
| Lecture 15: Tuesday, October 26 |
Overview of Hypercast - Guest lecture by Greg Mattes |
| Lecture 16: Thursday, October 28 |
Logging issues in Hypercast (Project Phase-2) |
| Lecture 17: Tuesday, November 2 |
Logging issues in Hypercast (Project Phase-2) (Discussion & Project
Presentation) |
| Lecture 18: Thursday, November 4 |
Chapter 10: Security |
| Lecture 19: Tuesday, November 9 |
Crosscutting concerns in Hypercast (Discussion & Project Presentation) |
| Lecture 20: Thursday, November 11 |
Crosscutting concerns in Hypercast (Discussion & Project Presentation) |
| Lecture 21: Tuesday, November 16 |
Concepts and Experiments in Computational Reflection |
| Lecture 22: Thursday, November 18 |
Aspect Weaving in AspectJ |
| Lecture 23: Tuesday, November 23 |
Subject-oriented Programming |
| No Lecture: Thursday, November 25 | Thanksgiving recess |
| Lecture 24: Tuesday, November 30 |
Instance-level aspects |
| Lecture 25: Thursday, December 02 |
Classpects: Compositional building blocks for program design |
| Lecture 26: Tuesday, December 07 |
Modular Reasoning & Aspect-Oriented Programming |
| Lecture 27: Thursday, December 09 |
Final Project Presentations |