An intensive graduate course in week 39 of 2003.
Aspect Oriented Programming (AOP) is a new programming paradigm which aims to capture cross-cutting concerns in large programs in a cleanly localised way. We call some concern cross-cutting, if it has to be implemented in such a way that many of the hierarchical components of a piece of software are affected. Examples are logging and tracing for debugging purposes, resource pooling, managing thread safety, etc. Crosscutting concerns are typically hard to understand, debug and modify.
AspectJ is an aspect oriented extension of the Java programming language, originally developed at Xerox PARC, and now maintained by the Eclipse project.
In this course, we will look at the ideas and terminology of AOP. We will try out these ideas in practice, using the AspectJ language. We will also try to form our own opinion on the pros and cons of this new technology.
The course will take place in week 39, that is 22nd - 26th September, 2003.
There will be a lecture from 10:00 to 11:30 every morning. You will then have the afternoon for exercises. We meet again from 16:00 to 17:30 to discuss the exercises.
We will meet in S2, except for Tuesday 23rd, when we will be in room G10.
Monday Lecture: Motivation and Introduction
Tuesday Lecture: Quick Tour and AspectJ basics
Wednesday Lecture: Advanced AspectJ
Thursday Lecture: AspectJ Idioms and Patterns
Friday Lecture: Pros and Cons