Programa
Programação 3: Orientação a Objetos e Java
- Apresentação do
Curso
- 2h-
Missão e objetivos, relevância e motivação,
relação com outras disciplinas, metodologia,
programa, referências, avaliação.
- WWW e Netscape
- 2h
-
Introdução a Internet/WWW, Netscape, estrutura das
páginas do curso, HTML, necessidade de Java, applets,
email, news.
- Qualidade de Software
- 2h
-
Crise de software, importância econômica e social
do desenvolvimento de software de qualidade, aspectos
e fatores de qualidade de software.
- Aspectos de Modularização
- 2h
-
Programação `in the small' versus `in the large',
critérios e princípios de modularização,
impacto sobre reusabilidade e manutenção.
- Técnicas para Modularização
- 2h
-
Pacotes, tipos abstratos, pacotes com variáveis
escondidas, decomposição funcional e orientada
por dados, essência de orientação a objetos.
- Conceitos de Orientação a Objetos e Java
- 8h
-
Objetos, classes, métodos, atributos, mensagens,
criação e remoção de objetos, tipos primitivos,
estruturas de controle, pacotes, interfaces, operadores
especiais.
- Ambiente de Desenvolvimento Java
- 2h
-
Compilador, interpretador, browser, appletviewer,
javamaker.
- Herança e `Dynamic Binding'
- 4h
-
Classificação, herança simples e múltipla,
polimorfismo, overriding, dynamic binding, impacto sobre
sistema de tipos (conflitos e anomalias), herança versus
parametrização e encapsulamento, `behavioural
inheritance'.
- Parametrização de Classes e Pacotes
- 2h
-
Programação parametrizada, desenvolvimento de software
baseado em componentes, impacto sobre reusabilidade,
projeto de interfaces, Java com parametrização.
- Documentação Formal de Classes e Pacotes
- 2h
-
Desenvolvimento rigoroso de software, impacto sobre
confiabilidade, especificações como contratos,
documentação, asserções, pré e pós
condições, invariantes, exceções.
- Metodologia de Desenvolvimento com Java
- 4h
-
Estilo de programação, projeto de bibliotecas
de classes, projeto orientado a objetos, aspectos de
engenharia de software.
- Classes Avançadas de Java
- 8h
-
Applets, elementos de GUI, 2D plotting, etc.
- Acompanhamento e Discussão dos Projetos
- 10h
-
Alternativas de projeto, dúvidas,
sugestões, etc.
- Apresentação dos Projetos
- 4h
-
Perguntas e seminários de 30 a 40 minutos.
- Perspectivas e outras Linguagens Orientadas a Objetos
- 2h
-
C++, Eiffel, Smalltalk, histórico das
linguagens, extensões,
novas tecnologias, mercado de software via WWW,
sistemas distribuídos orientados a objetos.