Lecture |
Date |
Topics |
1 |
18/10 |
Part 1: Course introduction, books, assessment criteria, important dates, etc.
|
2 |
20/10 |
Part 1: Introduction to Software Reuse
Part 2: Reuse in Object Oriented Programming
Part 3: Overview of Reuse Techniques: Design Patterns and MDD
|
3 |
25/10 |
Part 1: Introduction to Software Product Lines
Part 2: Feature Modeling
Part 3: Tools for Software Product Lines
|
4 |
27/10 |
Part 1: Component Based Software Engineering (CBSE)
Part 2: Component Model
Part 3: CBSE Process
Part 4: Component Composition
|
5 |
03/11 |
Part 1: Teamwork Instructions
Part 2: Final Project Instructions
|
6 |
08/11 |
Part 1: Software Product Line Process
Part 2: Domain Engineering
Part 3: Application Engineering
|
7 |
10/11 |
Part 1: Exercise about Feature Modeling
|
8 |
17/11 |
Part 1: Variability Implementation
|
9 |
22/11 |
Part 1: Design Patterns (GoF)
Part 2: Structural Design Patterns
Part 3: Behavioral Design Patterns
Part 4: Creational Design Patterns
|
10 |
24/11 |
Part 1: Software Architecture
Part 2: Architectural Patterns (POSA)
Part 3: Architectural Patterns: From Mud to Structure
Deadlines: teamwork formation (all), paper choice (grad), and final project abstract (grad)
|
11 |
29/11 |
Part 1: Architectural Patterns: Distributed Systems, Interactive Systems, and Adaptable Systems
Part 2: Programming Idioms in Java
|
12 |
01/12 |
Part 1: Review to 1st Exam
|
13 |
06/12 |
1st Exam
|
14 |
13/12 |
Teamwork: Partial Presentation (Feature Modeling and Planning)
|
15 |
15/12 |
Part 1: Implementation Techniques for Software Product Lines
Part 2: Tool-driven Variability Implementation
|
16 |
03/01 |
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 |
05/01 |
Part 1: Exercise about Aspect Oriented Programming
|
18 |
10/01 |
Part 1: Paper Presentation and Summary
|
19 |
12/01 |
Part 1: Paper Presentation and Summary
|
20 |
17/01 |
Part 1: Feature Oriented Programming (FOP)
Part 2: FOP Examples and the AHEAD Tool Suite
Part 3: FeatureIDE for Feature Oriented Programming
|
21 |
19/01 |
Part 1: Aspectal Feature Modules
Part 2: Aspect and Feature Oriented Programming with CaesarJ
Part 3: Delta Oriented Programming with DeltaJ
|
22 |
24/01 |
Part 1: Paper Presentation and Summary
|
23 |
26/01 |
Part 1: Paper Presentation and Summary
|
24 |
31/01 |
Part 1: Review to 2nd Exam
|
25 |
02/02 |
2nd Exam
|
26 |
07/02 |
Teamwork: Final Presentation (Implementation and Demo)
|
27 |
09/02 |
Review to 3rd Exam (optional)
|
28 |
14/02 |
3rd Exam (optional)
|
29 |
16/02 |
Part 1: Final Project Presentation
|
30 |
21/02 |
Part 1: Final Project Presentation
|