Métodos Avançados de Programação

(Design Orientado a Objeto)

Período: 2003.1

As Pessoas A Disciplina A Avaliação Outros
Professor Objetivos Forma de avaliação Datas Importantes
Monitor Programa Notas dos Alunos Lista de Discussão
Alunos Plano de Aulas Avaliação da disciplina Recursos
  Bibliografia Projeto  
  Material da disciplina (html on-line) Auto Avaliação  
  Material da disciplina (html zipado) Comentários sobre os projetos  
  Material da disciplina (pdf) Gabaritos  

Professor: Jacques Philippe Sauvé

Horários das Aulas e de Atendimento a Alunos pelo Professor

Monitor: Não há

Alunos

Aluno Observação
ANDRÉ LUIZ CAVALCANTI NÃO-CONSEGUI-LER-O-ULTIMO-NOME-DO-HOMEM  
BRUNO ALEXANDRE DIAS DA COSTA
 
CARLOS EDUARDO FIGUEIREDO M. LEITE
 
CHARLEZON DE MEDEIROS SILV
 
CHEYENNE RIBEIRO GUEDES ISIDRO
 
DAMYHONN DOS SANTOS PAULINO
 
DENIS LARIAS BALBO COUTINHO
 
ÉRICO VINICIUS DUARTE VIEIRA  
GIZELLE FELINTO BARBOSA
 
GUARANY MARQUES VIANA FILHO
 
HELTON SANTA CRUZ SOUTO
 
HENRIQUE DO NASCIMENTO CUNHA
 
HERIO THIAGO CESAR SAMPAIO DE OLIVEIRA
 
JACKSON AZEVEDO DE LIMA
 
JOSE AUGUSTO VIEIRA NETO
 
JULIO CESAR NUNES ARAGAO
 
JULIO ZINGA SUZUKI LOPES  
LAISA HELENA OLIVEIRA DO N  
LEONARDO DE ASSIS  
LUCIANO DE LIMA LOGRADO
 
MARCELL MANFRIN BARBACENA
 
MARCIO JARDSON COSTA CAMPOS
 
MARCIO ROBERTO PINTO DE ARAUJO
 
MARCOS PINHEIRO DUARTE  
MATHEUS BEZERRA ESTRELA RODRIGUES  
NIGINI ABILIO OLIVEIRA  
OTAVIO AUGUSTO RODRIGUES DE FRANCA  
OTAVIO RODRIGUES RAMOS  
PETRONIO ARAUJO DE MEDEIROS  
RENATA FRANCA DE PONTES  
RODRIGO CERQUEIRA LOPES  
THIAGO DANTAS DE FREITAS  
THIAGO SILVA REIS SANTOS  
VICTOR HUGO PINHEIRO FRANCA  

Plano de Aulas

Aula - Dia

Assunto

1 - 28/04/2003

Verificar habilidade de programação dos alunos (se sabem OO, se programam muito, em que linguagens)

Você tem que gostar de programar para fazer essa disciplina!

Anunciar URL da disciplina: http://jacques.dsc.ufpb.br/cursos/2002.2/map
Pegar lista de alunos com e-mail
Falar da auto-avaliação
Pedir para não imprimir nas impressoras da Universidade
Avisar para todos olharem as datas importantes
Objetivos da disciplina
Programa da disciplina
Trabalhos e critérios de avaliação
Apresentação do projeto

1. Facetas da Reusabilidade de Software

(Para ajudar no projeto: discussão breve sobre JavaBeans).

2 - 30/04

2. Design Patterns

2.1 O que são Design Patterns?
2.2 Elementos essenciais de um Design Pattern
2.3 Padrões para atribuir responsabilidades: Expert
2.4 Padrões para atribuir responsabilidades: Creator

3 - 05/05

2.5 Padrões para atribuir responsabilidades: Baixo Acoplamento
2.6 Padrões para atribuir responsabilidades: Alta Coesão

4 - 07/05

2.7 Design Pattern básico: Interfaces e polimorfismo
2.8 Design Pattern básico: Herança versus composição

5 - 12/05 [Buffer de contingência para as aulas]
6 - 14/05

2.9 Design Pattern: Observer

7 - 19/05

2.10 Design Pattern Arquitetural: Model-View-Controller (MVC)

8 - 15/09 (sic)

2.11 Padrões arquiteturais: Camadas, partições

9 - 22/09 (sic)

2.11 Padrões arquiteturais: Camadas, partições

10 - 28/05

[Buffer de contingência para as aulas]
11 - 02/06

2.12 Design Pattern: Factory Method
2.13 Design Pattern: Singleton

12 - 04/06

2.14 Design Pattern: Abstract Factory
2.15 Design Pattern: Iterator

13 - 09/06

2.16 Design Pattern: Composite

14 - 11/06

2.17 Design Pattern: Visitor
2.18 Design Pattern: Strategy

15 - 16/06

[Buffer de contingência para as aulas]

16 - 18/06

2.19 Design Pattern: Decorator
2.20 Design Pattern: Template Method

17 - 23/06

2.21 Comentários finais sobre Design Patterns

18 - 22/09

3. Software Baseado em Componentes

3.1 O que são componentes?
3.2 Aspectos técnicos do desenvolvimento baseado em componentes

19 - 24/09

3.3 Construção de componentes: JavaBeans

20 - 29/09

[Buffer de contingência para as aulas]

21 - 01/10

3.3 Construção de componentes: JavaBeans

22 - 06/10

j2ee1.1 Introdução e Motivação: Arquiteturas em n Camadas
j2ee1.2 A arquitetura J2EE

23 - 08/10

j2ee1.3 Desenvolvimento de Aplicações J2EE: Papeis, Composição e Deployment

24 - 13/10 4. Frameworks

4.1 O que é um framework?
4.2 Vantagens e desvantagens no uso de frameworks
4.3 Tipos de frameworks
4.4 Uma lista de frameworks

25 - 15/10

[Buffer de contingência para as aulas]
26 - não haverá

4.5 Detalhamento de um framework horizontal: JUNIT

27 - 20/10

4.7 Construção de frameworks: Um processo evolutivo

28 - [Buffer de contingência para as aulas]
29 - data a ser decidida Prova Final

Avaliação

A avaliação será feita através de:

O curso é baseado em grande parte num projeto de desenvolvimento envolvendo os assuntos do curso. Poderá formar equipe com uma (e apenas uma) pessoa. O projeto é importante e você deverá trabalhar duro para completá-lo. É assim que vai aprender algo.

O projeto será avaliado através de 3 milestones distintos. O milestone 4 é opcional; quem o fizer receberá bonus com peso de 10%; isto é, a nota do milestone 4 será multiplicada por 0,1 e o resultado é o bonus adicionado a sua nota. Os detalhes do que deve ser entregue para o professor estão aqui. O projeto é obrigatório. Quem não fizer os 3 milestones do projeto não poderá passar na disciplina. Os pesos atribuídos aos vários eventos de avaliação são indicados abaixo. Perde-se 5% do valor da nota dada a um milestone do projeto para cada dia de atraso na entrega.

Evento de avaliação

Peso

Minitestes 70%
Milestone 1 10%
Milestone 2 10%
Milestone 3 10%
Milestone 4 (opcional) 10% (bônus)

Datas Importantes

Milestones entregues via e-mail para jacques@dsc.ufcg.edu.br, até a meia-noite do dia indicado abaixo.

Milestone 1 Domingo, 25/05/2003
Milestone 2 Domingo, 29/06/2003
Milestone 3 Domingo, 05/10/2003
Milestone 4 (opcional) Terça-feira, 21/10/2003