Fall 2002 Programming Language Seminar:
Aspect-Oriented Programming with AspectJ

[ Washington University in St Louis ]
Department of Computer Science

This seminar took place in the Fall of 2002. This page serves as an archive to material covered in the seminar and as a repository for presentations and lectures.
Synopsis Information Code Examples Calendar Resources Links

Synopsis:
The focus for this seminar is aspect-oriented programming (AOP). The seminar will give participants a feel for what AOP is, when it can be useful, and will also gain hands-on experience with aspect-oriented software development in AspectJ, an aspect extension for Java. It is intended primarily for junior- and senior-level undergraduate students interested in learning about AOP.

The seminar will introduce AspectJ and several lectures will focus on syntax and use of the language in software development projects. Regular homework will be assigned, and after the language has been covered larger class projects will be modularly built from classes and aspects involving design, implementation, and presentation in class.

There will be no in-class quizzes or examinations.

Important Information:

Course number     E61 6783
Meeting place Lopata 103
Meeting time Wednesdays, 1:00-2:30pm
Credit 1 unit
Grade option pass/fail only *

* You pass the seminar by attending and participating.

Registration for this seminar is CLOSED.
Please see more recent programming language seminars.

Code Examples:
An index of code referred to in class is available.

Seminar Calendar:
The Fall 2002 programming language seminar meets Wednesdays at 1pm in Lopata 103.

Date Topic Lecture Notes Homework
28 August
1pm, Bryan 509C
Organizational Meeting
Handout: How to set up AspectJ
HTML Homework 1 assigned
4 September Class cancelled
(Conflict with thesis defense)
11 September AspectJ syntax and examples HTML Homework 1 due
Homework 2 assigned
18 September More AspectJ syntax and examples
Handout: TraceCounter
HTML Homework 2 due
25 September Advice Precedence, Introduction, Aspect Extension, Observer design pattern
Handout: Observer design pattern code
HTML
(code only at present)
Homework 3 assigned
2 October Class discussions: Gang of Four design patterns with aspects See the
homework #3 page
Homework 3 due
9 October
16 October Control flow, aspect instantiation,
finish up AspectJ
...
23 October Nuts and Bolts: Some "aspect idioms" in Java ... Project proposals due
30 October Aspect Design: Network and Concurrency Patterns HTML (partial)
6 November Other Advanced Separation of Concerns (ASoC) technologies HTML (links)
13 November Future of AOP and AspectJ HTML (links)
20 November Final project presentations: Bicycling, Blackjack, Aircraft Design, and Aspectified Distributed Collaboration Tool Presentation schedule Final projects
27 November THANKSGIVING BREAK
4 December Final project presentations: Proxy Server, Web Browser, and PCESGraph/Clazzer Presentation schedule Final projects

Useful Resources:

Links:

Looking for something else?


Morgan Deters / About me / OpenPGP Public Key / 02 Jan 2006

This page is certified valid HTML 4.01!  This page refers to certified valid CSS!  I support the AnyBrowser campaign