Special Topics in Software Engineering:
Aspect-Oriented Programming and AspectJ
Aspect-oriented programming is a technique for better "separation of concerns". In the object-oriented programming paradigm, the programmer is forced to modularize her program in accordance with its class/object structure. Certain elements of the code, however, do not fit well in this structure. AOP enables us to create modules from these "cross-cutting concerns", and hence it has a positive impact on readability and maintainability of software. The most well-known aspect system is AspectJ, which is an extension to Java. This course discusses the ideas behind aspect-oriented programming, and gives a detailed presentation of the AspectJ language.
Dr. Tamas Kozsik
Students will have to do a project and send it to the lecturer. The marks for this
course will be based on the project.