Lecture |
Date |
Topics |
1 |
13/08 |
Part 1: Course introduction, books, assessment criteria, important dates, etc.
|
2 |
20/08 |
Part 1: Introduction to Software Reuse
Part 2: Reuse in Object Oriented Programming
Part 3: Overview of Reuse Techniques: Design Patterns and MDD
|
3 |
22/08 |
Part 1: Design Patterns (GoF)
Part 2: Structural Design Patterns
Part 3: Behavioral Design Patterns
Part 4: Creational Design Patterns
|
4 |
27/08 |
Part 1: Software Architecture
Part 2: Architectural Patterns (POSA)
Part 3: Architectural Patterns: From Mud to Structure
Part 4: Architectural Patterns: Distributed Systems, Interactive Systems, and Adaptable Systems
|
5 |
29/08 |
Parte 1: Component Based Software Engineering (CBSE)
Parte 2: Component Model
Parte 3: CBSE Process
Parte 4: Component Composition
|
6 |
03/09 |
Exercise about Software Architecture
Exercise about Component Based Software Engineering (CBSE)
|
7 |
05/09 |
Part 1: Review of Architectural Patterns.
Part 2: Programming Idioms in Java
|
8 |
10/09 |
Part 1: Team Work - Problems and Programmers
Part 2: Team Work - Game SimulES
|
9 |
12/09 |
Exercise about educational games
|
10 |
17/09 |
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
|
11 |
19/09 |
Exercise about Aspect Oriented Software Development
|
12 |
24/09 |
Part 1: Introduction to Software Product Lines
Part 2: Feature Modeling by Example
Part 3: Tools for Software Product Lines
|
13 |
26/09 |
Paper Presentation: Avoiding Code Pitfalls in Aspect-Oriented Programming (Aline)
Paper Presentation: Are Code Examples on an Online Q&A Forum Reliable? A Study of API Misuse on Stack Overflow (Igor)
Part 3: Paper Summary
|
14 |
01/10 |
Part 1: Exercise about Software Product Lines.
|
15 |
03/10 |
1st Exam
|
16 |
08/10 |
Part 1: Implementation Techniques for Software Product Lines
Part 2: Feature Oriented Programming (FOP)
|
17 |
10/10 |
Part 1: FOP Examples and the AHEAD Tool Suite
Part 2: FeatureIDE for Feature Oriented Programming
|
18 |
15/10 |
Part 1: Exercise about Feature Oriented Programming
|
19 |
17/10 |
Part 1: Aspectal Feature Modules
Part 2: Aspect and Feature Oriented Programming with CaesarJ
Part 3: Delta Oriented Programming with DeltaJ
|
20 |
22/10 |
Parte 1: Processos de Software
Parte 2: Modelo Cascata
Parte 3: Engenharia de Software baseada em Reutilização
Part 4: Software Product Line Process
Part 5: Domain Engineering
Part 6: Application Engineering
|
21 |
24/10 |
Paper Presentation 1: Granularity in Software Product Lines (Priscilla)
Paper Presentation: On the Use of Feature-Oriented Programming for Evolving Software Product Lines: A Comparative Study (Rafael)
Part 3: Paper Summary
|
22 |
29/10 |
Paper Presentation 1: Cost-Efficient Sampling for Performance Prediction of Configurable Systems (Amanda)
Paper Presentation 2: An Empirical Study on Performance Bugs for Highly Configurable Software Systems (Geanderson)
Part 3: Paper Summary
|
23 |
05/11 |
Part 1: Team Work Presentation
|
24 |
07/11 |
Part 1: Team Work Presentation
|
25 |
12/11 |
Part 1: Review to 2nd Exam
|
26 |
14/11 |
2nd Exam
|
27 |
19/11 |
Review to 3rd Exam (optional)
|
28 |
21/11 |
3rd Exam (optional)
|
29 |
26/11 |
Part 1: Final Project Presentation
|
30 |
28/11 |
Part 1: Final Project Presentation
|