Código: PO
Programação com Objectos
Ano curricular:
2
Duração:
1º semestre
Créditos: 6.0 ECTS
Tipo:Obrigatória
Idioma: Português
Pré-requisitos:
Nenhum
Docente(s):
Nuno Joao Neves Mamede; Pedro Manuel Guerra e Silva Reis dos Santos;
1. Tipologia de Ensino/Horas de Contacto:
Teórico-práticas: 63.0
Total: 63.0
2. Objectivos:
Conhecer: o paradigma de programação com objectos, as suas vantagens, inconvenientes e limitações; o paradigma dos padrões de desenho, tanto no desenvolvimento, como na refactorização de aplicações. Competências a adquirir: domínio do paradigma da programação com objectos, nomeadamente dos conceitos de encapsulamento, abstracção, herança e polimorfismo; capacidade de utilizar uma linguagem de programação baseada em objectos; capacidade de utilização de padrões de desenho; e domínio da escrita de testes de avaliação.
3. Programa:
Programação com Objectos e Linguagem Java Introdução aos objectos: definição; longevidade; classes; métodos; programas. Regras de codificação em Java Operadores, expressões e controlo de fluxo em Java: precedências; atribuição; operadores; conversões de tipos; literais; controlo de execução Construção de objectos: iniciação e limpeza; construtores; métodos sobrecarregados; "this"; colector de lixo Organização de código: interface vs. implementação; bibliotecas; acesso aos membros Herança e composição: desenvolvimento incremental; "final"; carregamento de classes Polimorfismo; Classes abstractas e interfaces Classes internas: utilização e aspectos particulares de Java Tipos paramétricos Java: Enumerações; Excepções; Colecções; Entradas/saídas; Informação de tipos em tempo de execução Modelação (UML) Introdução à UML Diagramas de classes e de sequência Padrões de Desenho Introdução aos padrões de desenho: Singleton Apresentação e discussão de padrões de desenho: Composite, State, Template Method, Strategy, Decorator, Factory Method, Abstract Factory, Simple Factory, Observer, Visitor, Adapter, Façade, Bridge, Proxy
4. Bibliografia
Bibliografia principal:
Thinking in Java, Eckel, 2003, Prentice Hall ; Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, 1995, Addison Wesley Professional
5. Avaliação:
1ª Componente - 50% Projecto (sem nota mínima): a avaliação do projecto inclui um teste prático. 2ª Componente - 40% Teste (nota mínima de 7.5 valores). 3ª Componente - 10% Seis séries de exercícios (sem nota mínima) a realizar nas aulas práticas e em casa. Existem provas de repescagem para os testes prático e teórico. Das seis séries de exercícios, são contabilizadas as cinco melhores.
6. Estimativa total de trabalho:
168.0 horas