2020 - I

Software Reuse

Course Agenda

Lecture

Date

Topics

-

02/03

No class (PPGCC welcome lecture)

1

04/03

Part 1: Course introduction, books, assessment criteria, important dates, etc.

2

09/03

Part 1: Introduction to Software Reuse

Part 2: Reuse in Object Oriented Programming

Part 3: Overview of Reuse Techniques: Design Patterns and MDD

3

11/03

Part 1: Introduction to Software Product Lines

Part 2: Feature Modeling

Part 3: Tools for Software Product Lines

4

16/03

Virtual Assíncrona - Instrução: assistir aos videos no Youtube (Video 1, Video 2 e Video 3) e responder as perguntas no Google Forms (abaixo).

Part 1: Component Based Software Engineering (CBSE)

Part 2: Component Model

Part 3: CBSE Process

Part 4: Component Composition

Part 5: Questionnaire about Component Based Software Engineering (mandatory).

5

03/08

Virtual Síncrona.

Part 1: Teamwork Instructions

Part 2: Mandatory and optional features of Class Exam Management System

Part 3: Final Project Instructions

6

05/08

Virtual Síncrona.

Part 1: Software Product Line Process

Part 2: Domain Engineering

Part 3: Application Engineering

7

10/08

Virtual Síncrona.

Part 1: Exercise about Feature Modeling

8

12/08

Virtual Síncrona.

Part 1: Variability Implementation

9

17/08

Virtual Assíncrona - Instrução: assistir aos videos no Youtube e responder as perguntas no Google Forms.

Part 1: Design Patterns (GoF)

Part 2: Structural Design Patterns

Part 3: Behavioral Design Patterns

Part 4: Creational Design Patterns

10

19/08

Virtual Assíncrona - Instrução: assistir aos videos no Youtube e responder as perguntas no Google Forms.

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

24/08

Virtual Assíncrona - Instrução: assistir aos videos no Youtube e responder as perguntas no Google Forms.

Part 1: Architectural Patterns: Distributed Systems, Interactive Systems, and Adaptable Systems

Part 2: Programming Idioms in Java

12

26/08

Virtual Síncrona.

Part 1: Review to 1st Exam

13

31/08

Virtual Síncrona.

1st Exam

14

02/09

Virtual Síncrona.

Teamwork: Partial Presentation (Feature Modeling and Planning)

Instruction 1: Each presentation should last between 4 to 6 minutes.

Instruction 2: The slides have to be sent in PDF by email today.

15

09/09

Virtual Síncrona.

Part 1: Implementation Techniques for Software Product Lines

Part 2: Tool-driven Variability Implementation

16

12/09 (*)

Virtual Assíncrona - Instrução: assistir aos videos no Youtube e responder as perguntas no Google Forms.

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

14/09

Virtual Síncrona.

Part 1: Exercise about Aspect Oriented Programming

18

16/09

Virtual Síncrona.

Part 1: Paper Presentation and Summary

19

21/09

Virtual Síncrona.

Part 1: Feature Oriented Programming (FOP)

Part 2: FOP Examples and the AHEAD Tool Suite

Part 3: FeatureIDE for Feature Oriented Programming

20

23/09

Virtual Síncrona.

Part 1: Exercise about Feature Oriented Programming

21

28/09

Virtual Síncrona.

Part 1: Aspectal Feature Modules

Part 2: Aspect and Feature Oriented Programming with CaesarJ

Part 3: Delta Oriented Programming with DeltaJ

22

30/09

Virtual Síncrona.

Part 1: Paper Presentation and Summary

23

05/10

Virtual Síncrona.

Part 1: Paper Presentation and Summary

24

07/10

Virtual Síncrona.

Teamwork: Final Presentation (Implementation and Demo)

Instruction 1: Each presentation should last between 6 to 10 minutes

Instruction 2: The slides have to be sent in PDF by email today

25

14/10

Virtual Síncrona.

Part 1: Review to 2nd Exam

Deadline for Teamwork Submissions (all): teamwork projects have to be submitted by email

Deadline for Final Project Submissions (grad): papers have to be submitted via EasyChair until 16/10

26

19/10

Virtual Síncrona.

2nd Exam

27

21/10

Virtual Síncrona.

Review to 3rd Exam (optional)

Deadline for Final Project Reviews (grad): reviews have to be submitted via EasyChair until 23/10

28

26/10

Virtual Síncrona.

3rd Exam (optional)

29

28/10

Virtual Síncrona.

Part 1: Final Project Presentation

30

04/11

Virtual Síncrona.

Part 1: Final Project Presentation

Deadline for Final Project (grad): the camera-ready version has to be submitted via EasyChair

Grading

Contact

reuso.softwaregmail.com

Departamento de Ciêcia da Computação
Av. Antônio Carlos, 6627 - ICEx - Pampulha
Belo Horizonte - CEP: 31270-010
Minas Gerais - Brasil

Room: 4311
Phone: +55 (31) 3409-5878