Lecture |
Date |
Topics |
1 |
04/08 |
Part 1: Course introduction, books, assessment criteria, important dates, etc.
|
2 |
06/08 |
Part 1: Agenda and Notices.
Part 2: Introduction to Software Reuse
Part 3: Overview of Reuse Techniques
|
3 |
11/08 |
Part 1: Reuse in Object Oriented Programming
Part 2: Design Patterns
Part 3: Creational Design Patterns
Part 4: Structural Design Patterns
Part 5: Behavioral Design Patterns
|
4 |
13/08 |
Part 1: Software Architecture
Part 2: Introduction to Architectural Patterns
Part 3: Architectural Patterns: From Mud to Structure
Part 4: Architectural Patterns: Distributed Systems, Interactive Systems, and Adaptable Systems
|
5 |
18/08 |
Part 1: Programming Idioms in Java
|
6 |
20/08 |
Part 1: Introduction to Software Product Lines
Part 2: Feature Modeling by Example
Part 3: Tools for Software Product Lines
Part 4: Implementation Techniques for Software Product Lines
|
7 |
25/08 |
Exercise
|
8 |
27/08 |
Part 1: Group Work - Problems and Programmers
Part 2: Group Work - Game SimulES
|
9 |
01/09 |
Exercise
|
10 |
03/09 |
Part 1: Separation of Concerns
Part 2: Aspect Oriented Software Development
Part 3: Pointcuts in AspectJ
Part 4: Advice in AspectJ
Part 5: Intertype declarations in AspectJ
|
11 |
08/09 |
Paper Presentation 1: Do Crosscuting Concerns Cause Defects?
Paper Presentation 2: Design Pattern Implementation in Java and AspectJ
Part 3: Paper Discussion
|
12 |
10/09 |
Exercise
|
13 |
15/09 |
Part 1: Review to 1st Exam
|
14 |
17/09 |
1st Exam
|
15 |
22/09 |
Part 1: Model Driven Development (MDD)
Part 2: Process in MDD
Part 3: Model Transformation and xUML
Part 4: Tools for MDD
|
16 |
24/09 |
Paper Presentation 1: UML in Practice
Paper Presentation 2: Analyze This! 145 Questions for Data Scientists in Software Engineering
Part 3: Paper Discussion
|
17 |
29/09 |
Online Lecture
Video 1: Engenharia de Software Baseada em Componentes (CBSE)
Video 2: Processos de CBSE
Video 3: Composição de Componentes
|
18 |
01/10 |
Online Lecture
Quiz 5: Engenharia de Software Baseada em Componentes (CBSE)
|
19 |
06/10 |
Part 1: Feature Oriented Programming and the AHEAD Tool Suite
|
20 |
08/10 |
Paper Presentation 1: On the Use of Feature-Oriented Programming for Evolving Software Product Lines: A Comparative Study.
Paper Presentation 2: Feature Maintenance with Emergent Interfaces.
Part 3: Paper Discussion
|
21 |
13/10 |
Part 1: Aspectal Feature Modules
Part 2: Aspect and Feature Oriented Programming with CaesarJ
|
22 |
15/10 |
Paper Presentation 1: Cowboys, Ankle Sprains, and Keepers of Quality: How Is Video Game Development Different from Software Development?
Paper Presentation 2: Clearing the Way for Software Product Line Success.
Part 3: Paper Discussion
|
23 |
20/10 |
Group Work: Oral Presentation
|
24 |
22/10 |
Group Work: Oral Presentation
|
25 |
29/10 |
Part 1: Metrics for Object Oriented Programs
Part 2: Measuring Size for Reuse (see paper)
Part 3: Evolving Software Product Lines with Aspects: An Empirical Study on Design Stability (see paper)
|
26 |
03/11 |
PPGCC: Final Project Presentation
|
27 |
05/11 |
PPGCC: Final Project Presentation
|
28 |
10/11 |
Review to 2nd Exam
|
29 |
12/11 |
2nd Exam
|
30 |
19/11 |
3rd Exam (optional)
|