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

  3. Modularidade de software - 2h

    Programação `in the small' versus `in the large', critérios e princípios de modularidade, impacto sobre reuso e manutenção.

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

  5. Ambientes de desenvolvimento para Java - 4h

    Compilador, interpretador e outras ferramentas de desenvolvimento e programação visual.

  6. Herança, subtipos e classes abstratas - 10h

    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', interfaces, interfaces versus classes, `extends' versus `implements', interfaces e reuso de software.

  7. Parametrização de classes - 2h

    Programação parametrizada, desenvolvimento de software baseado em componentes, impacto sobre reusabilidade, Java com parametrização, herança versus parametrização.

  8. Exceções e 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.

  9. Pacotes - 2h

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

  10. Integrando Java com Banco de Dados - 2h

    Reusando classes da biblioteca, elementos de GUI, manipulação de arquivos, persistência e JDBC, trabalhando com URLs e CGI, desenvolvimento de Applets.

  11. Acompanhamento dos Projetos - 16h

    Discussão sobre a análise, projeto e implementação dos sistemas, dicas sobre a utilização das várias APIs de Java.

 

 


Paulo Borba (phmb@di.ufpe.br)