Programa

Programação 3: Orientação a Objetos e Java


  1. 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.

  2. Internet e WWW - 2h
    Introdução a Internet e WWW, HTML, necessidade de Java, Applets, News, estrutura das páginas do curso.

  3. 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.

  4. Aspectos de modularização de software - 2h
    Programação `in the small' versus `in the large', critérios e princípios de modularização, impacto sobre reuso e manutenção.

  5. Técnicas para modularização de software - 2h
    Pacotes, tipos abstratos, pacotes com variáveis escondidas, decomposição funcional e orientada por dados, essência de orientação a objetos.

  6. Conceitos de orientação a objetos e Java - 8h
    Objetos, classes, métodos, atributos, mensagens, aspectos de análise orientada a objetos, criação e remoção de objetos, tipos primitivos, estruturas de controle, operadores especiais.

  7. Pacotes - 2h
    Pacotes e diretórios, ocultando informações, nomeação, importação e reuso de pacotes.

  8. Herança e classes abstratas - 6h
    Classificação, herança simples e múltipla, polimorfismo, `overriding', `dynamic binding', impacto sobre sistema de tipos (conflitos e anomalias), herança versus encapsulamento, herança baseada em comportamento, classes abstratas, `casts'.

  9. Interfaces - 4h
    Interfaces e subtipos, interfaces versus classes, `extends' versus `implements', interfaces e reuso de software.

  10. Parametrização de classes e pacotes - 2h
    Programação parametrizada, desenvolvimento de software baseado em componentes, impacto sobre reusabilidade, Java com parametrização, herança versus parametrização.

  11. Documentação formal de classes - 4h
    Desenvolvimento rigoroso de software, impacto sobre confiabilidade, especificações como contratos, documentação, asserções, pré e pós condições, invariantes, tratamento de exceções.

  12. Metodologia de desenvolvimento com Java - 4h
    Estilo de programação, projeto de bibliotecas de classes, projeto orientado a objetos, aspectos de engenharia de software.

  13. Ambiente de desenvolvimento para Java - 2h
    Compilador, interpretador, browser, Javamaker ou outra ferramenta de desenvolvimento.

  14. Classes da biblioteca de Java - 8h
    Reusando classes da biblioteca, elementos de GUI, manipulação de arquivos, persistência, trabalhando com URLs, CGI, desenvolvimento de Applets, appletviewer.


Paulo Borba (phmb@di.ufpe.br)