Lecture |
Date |
Topics |
1 |
13/03 |
Part 1: Course introduction, books, assessment criteria, important dates, etc.
|
2 |
15/03 |
Part 1: Introduction to Software Reuse
Part 2: Reuse in Object Oriented Programming
Part 3: Overview of Reuse Techniques: Design Patterns and MDE
|
3 |
20/03 |
Part 1: Introduction to Software Product Lines
Part 2: Feature Modeling
Part 3: Tools for Software Product Lines
|
4 |
22/03 |
Part 1: Exercise about Feature Modeling
|
5 |
27/03 |
Part 1: Teamwork Instructions
Part 2: Final Project Instructions
|
6 |
29/03 |
Part 1: Features and Products
Part 2: Software Product Line Process
Part 3: Domain Engineering
Part 4: Application Engineering
|
7 |
03/04 |
Part 1: Variability Implementation Concepts for Software Product Lines
Part 2: Examples of Implementation Techniques for Software Product Lines
|
8 |
05/04 |
Part 1: Design Patterns (GoF)
Part 2: Structural Design Patterns
Part 3: Behavioral Design Patterns
Part 4: Creational Design Patterns
|
9 |
10/04 |
Part 1: Software Architecture
Part 2: Architectural Patterns (POSA)
Part 3: Architectural Patterns: From Mud to Structure
|
10 |
12/04 |
Part 1: Architectural Patterns: Distributed Systems, Interactive Systems, and Adaptable Systems
Part 2: Programming Idioms in Java
|
11 |
17/04 |
Part 1: Review to 1st Exam
|
12 |
19/04 |
1st Exam
|
13 |
24/04 |
Teamwork: Partial Presentation (Feature Modeling and Planning)
|
14 |
26/04 |
Teamwork: Partial Presentation (Feature Modeling and Planning)
|
15 |
03/05 |
Part 1: Variability Implementation Techniques for Software Product Lines
Part 2: Variability Implementation: Parameters
Part 3: Variability Implementation: Preprocessors
|
16 |
08/05 |
Part 1: Separation of Concerns
Part 2: Aspect Oriented Software Development (AOSD)
Part 3: Pointcuts in AspectJ
Part 4: Advice in AspectJ
Part 5: Intertype declarations in AspectJ
|
17 |
10/05 |
Part 1: Exercise about Aspect Oriented Programming
|
18 |
15/05 |
Part 1: Feature Oriented Programming (FOP)
Part 2: FOP Examples and the AHEAD Tool Suite
Part 3: FeatureIDE for Feature Oriented Programming
|
19 |
17/05 |
Part 1: Exercise about Feature Oriented Programming
|
20 |
22/05 |
Part 1: Aspectal Feature Modules
Part 2: Aspect and Feature Oriented Programming with CaesarJ
|
21 |
24/05 |
Part 1: Delta Oriented Programming with DeltaJ
Part 2: Bad Smells in Code
Part 3: Variability Smells in Software Product Lines
|
22 |
29/05 |
Paper Presentation and Summary
|
23 |
05/06 |
Teamwork: Final Presentation (Design, Implementation, and Demo)
|
24 |
07/06 |
Teamwork: Final Presentation (Design, Implementation, and Demo)
|
25 |
12/06 |
Part 1: Review to 2nd Exam
|
26 |
14/06 |
2nd Exam
|
27 |
19/06 |
Review to 3rd Exam (optional)
|
28 |
21/06 |
3rd Exam (optional)
|
29 |
26/06 |
Part 1: Final Project Presentation
|
30 |
28/06 |
Special Exam (optional)
|