The objective of this course is to master basics of aspect-oriented software development, which enables a higher degree of the separation of concerns through crosscutting concern modularization. The course provides an overview of aspect-oriented approaches to software development throughout all of its stages, as well as programming languages connected with these approaches. The course also covers the relationship of aspect-oriented software development and software product lines. Students will gain experience with AspectJ, which is the most important aspect-oriented programming language of today.
Avoiding Plagiarism (UC Davis)