2014 - II

Software Reuse

Course Agenda

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)

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

Sala: 4311
Telefone: +55 (31) 3409-5878