Intensive Course on Aspect-Oriented Programming

UBC Continuing Studies
Sierra Systems

Vancouver, British Columbia
September 18 and 19, 2004

Registration will close on September 15th.

Aspect-oriented programming (AOP) is changing the way software is developed. AOP builds on the success of OOP, by making code more modular, and hence easier to develop, maintain, evolve and deploy.

This course provides you with an opportunity to get a deep introduction to AOP, in just one weekend, from internationally acclaimed experts. The instructors include:

  • Gregor Kiczales, who led the PARC projects that developed AOP and AspectJ.
  • Adrian Colyer, who leads the IBM's involvement in the AspectJ development project.
  • Mik Kersten, who developed the original AspectJ IDE integration, and is a committer on the AspectJ project.
  • Gail Murphy, who leads research in non-language tools for working with aspects.

The course will involve lecture, hands-on exercises, and classroom discussion. You will leave with a solid understanding of AOP, as well as the ability to begin discussing how your company should explore this new technology in an expedient but risk-managed way.  Set in Vancouver, British Columbia, you will also have an opportunity to visit one of North America's most beautiful cities.

In one weekend, you will learn:

  1. The technology and how to use it
    • What is AOP?
    • What kind of problems can AOP solve?
    • Tips and tricks for effective use of AOP.
    • Good style guidelines.
    • Thinking aspects, in design, code and testing.
    • Writing and deploying reusable aspects.
    • Using AOP to get more value from design patterns.
    • Writing efficient AOP code.
  2. The Bigger Picture
    • What different AOP tools are out there?
    • How do they compare?
    • How can you choose among them?
    • How are the tools evolving? Towards each other? Apart?
  3. Business Value
    • What value can AOP provide your organization?
    • How should managers and developers decide whether to adopt AOP?
    • What are other companies doing with AOP?
  4. Next Steps
    • How to get started with aspects in existing projects.
    • How should you evaluate AOP in your organization?
    • What are the best adoption strategies?