Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate
SUBJECT

Code	Subject	
MID0034	Aspect-Oriented Programming	

Section	Sem.	Hours: C+S+L	Category	Type	
Computer Science - in English	6	2+0+1	speciality	optional	

Teaching Staff in Charge	Lect. COJOCAR Grigoreta Sofia, grigo@cs.ubbcluj.ro	
Aims	To assimilate basic knowlegde of:
* aspect oriented paradigm
* development of software systems using aspect oriented programming	
Content	   * Introduction: What is AOP? Crosscutting concerns, basic concepts.    
   * Examples of crosscutting concerns (aspects). 
    * The AspectJ language:join points, pointcuts, advices,  aspects.
    * Contract checking: pre-condition, post-condition, condition enforcement.
    * Inheritance and Overriding of Advice and pointcuts.
    * Reflection in AspectJ.
    * Various aspect-oriented approaches.
    * Aspect-Oriented Software Development.
    * Design Patterns and AOP	
Bibliography	1. Ivar Jacobson and Pan-Wei Ng. Aspect-Oriented Software Development with Use Cases. Addison-Wesley, 2004.
2. Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning, 2003.
3. Robert Filman, Tzilla Elrad, Siobhan Clarke and Mehmet Aksit. Aspect-Oriented Software Development. Addison-Wesley, 2004. 
4. Siobhan Clarke and Elisa Baniassad. Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, 2005.
5. AspectJ Project: http://www.eclipse.org/aspectj/	
Assessment	Practical exam.