Código |
16223
|
Ano |
2
|
Semestre |
S1
|
Créditos ECTS |
6
|
Carga Horária |
PL(30H)/T(30H)
|
Área Científica |
Informática
|
Objectivos de Aprendizagem |
Esta Unidade Curricular tem como objetivo a aprendizagem dos conceitos fundamentais da Programação Orientada a Objetos e a introdução às correspondentes metodologias e técnicas de desenvolvimento de programas/aplicações. No final o aluno deve ser capaz de entender e aplicar os princípios e técnicas da Programação Orientada a Objetos e de desenvolver programas numa linguagem Orientada a Objetos (e.g. Java). O aluno deve ficar a perceber os conceitos de objeto, classe e instanciação de objectos. O aluno deve ficar a conhecer os conceitos de hierarquias de classes e interfaces, os diferentes tipos de relações entre objectos, os conceitos de polimorfismo e programação genérica. Deverá ser capaz de construir pequenos programas, aplicando os conceitos enumerados acima. O aluno deverá perceber os princípios da Análise e Projeto Orientados a Objetos. No final deverá ser capaz de implementar um projeto onde aplicará de forma integrada os conceitos apreendidos ao longo da UC.
|
Conteúdos programáticos |
1. Introdução ao paradigma da Programação Orientada a Objetos 1.1 Perspetiva histórica 1.2 Características da programação orientada a objetos (encapsulamento, partilha de comportamento, evolução) 2. Objetos (noção de Objeto e identidade; protocolo de utilização de um Objeto; mensagens e métodos; noção de estado e comportamento. 3. Linguagens baseadas em classes; instanciação de Objetos 4. Hierarquias de Objetos: Mecanismos de herança; Reutilização de código; Sistemas reflexivos; Polimorfismo. 5. Interfaces: Separação entre interface e implementação de interfaces. 6. Relações entre Objetos: Extensão, generalização e especialização; Associação, agregação e composição; Coesão e acoplamento. 7. Automatização de testes e geração de documentação. 8. Análise, Projeto e Implementação Orientada a Objetos: Linguagens e ambientes de desenvolvimento; Análise, Projeto e Implementação.
|
Metodologias de Ensino e Critérios de Avaliação |
Aulas teóricas: Exposição dos conceitos. Aulas práticas: Resolução de fichas de trabalho no computador. Estas fichas contêm exemplos a completar pelo aluno e propostas de problemas para o aluno resolver, podendo recorrer aos apontamentos e ao Professor. Nas aulas práticas verificar-se-á se os alunos apreenderam os conceitos apresentados nas aulas teóricas e se são capazes de os implementar usando uma linguagem Orientada a Objetos (e.g. Java). As últimas semanas do semestre são dedicadas à implementação de um projeto a realizar em grupo fora do tempo de aulas, servindo as aulas práticas para discussão das opções tomadas e resolução de dúvidas colocadas pelos grupos. Avaliação: Avaliação de conhecimentos teóricos e práticos através de dois testes individuais. Trabalho prático, a realizar em grupo, com defesa individual.
|
Bibliografia principal |
Java A Beginner’s Guide Sixth Edition, 2014 , Herbert Schildt , Oracle Press JAVA8 – POO + Construções Funcionais, F. Mário Martins, FCA, 2017. Projetos de POO em JAVA, F. Mário Martins, FCA, 2014. Thinking in Java, 4 th Edition, Bruce Eckel, 2005.
|
Língua |
Português
|