Como chegar
|
Contactos

Programação Orientada a Objetos 2017/2018

  • 7 ECTS
  • Lecionada em Português
  • Avaliação Contínua

Objetivos

Depois de concluída a unidade curricular, o estudante deverá ser capaz de criar aplicações orientadas a objetos simples usando a linguagem de programação Java e a sua framework. O estudante terá também conhecimentos para fazer uma avaliação crítica sobre aplicações orientadas a objetos em Java de maior dimensão ou complexidade.

Pré-Requisitos Recomendados

Conhecimentos adquiridos na unidade curricular:
Algoritmia e Programação, nomeadamente: condições lógicas, ciclos e arrays.
Matemática Discreta: lógica, expressões booleanas e conjuntos
Álgebra Linear: Raciocínio lógico de demonstração e operações sobre matrizes

Método de Ensino

As metodologias de ensino são: expositiva, demonstrativa e laboratorial experimental. Exposição dos conceitos teóricos, com interpelação dos estudantes, demonstração de exemplos canónicos, experimentação da aplicação dos conceitos teóricos em problemas práticos.Será também usada a avaliação por pares, no ambito da resolução de problemas práticos.

Conteúdos Programáticos

1. Conceitos Fundamentais
Linguagem binária, compilação, máquina virtual;
Tipos primitivos, domínio, precisão, conversão;
Valores e referências;
Estruturas de controlo;
Arrays;
Estrutura base de um programa Java
2. Classes
Paradigma de Programação orientada a objetos;
Conceito de classe;
Classes e objetos;
Definição de classes;
Construtores, métodos, parâmetros;
Encapsulamento;
Composição, overloading;
Agrupamento de objetos em coleções, iteradores;
Qualidade no desenho de classes: Acopolamento e coesão, responsabilidade, refactoring-
3. Herança
Tipos estático e dinâmico;
Casting;
Polimorfismo;
Overriding;
Qualificadores de acesso.
4. Abstração e Modularização
Packages e import;
Diagrama de objetos, diagrama de classes;
Classes abstratas e interfaces;
Wrapper classes;
5. Qualidade do Código
Teste e deteção de erros;
Tratamento de erros;
Documentação do código - Javadoc.
Separação entre interface com utilizador e lógica.

Bibliografia e Webgrafia Recomendada

F. Mário Martins, Projetos de POO em Java, 2014, ISBN 978-972-722-792-1
David J. Barnes & Michael Kölling, Objects First with Java, Sixth Edition, Prentice Hall / Pearson Education, 2017, ISBN 13-978-1-292-15904-1.
The Java Tutorials, http://docs.oracle.com/javase/tutorial/index.html
Deitel & Deitel, Java: How to program, s.ac.id/repository/docs/ajar/Java_-_How_To_Program_-_Ninth_Edition_(2012).pdf

Bibliografia Complementar

David J. Eck, Introduction to Programming Using Java, http://math.hws.edu/javanotes/, Version 7.0, 2014

Planificação Semanal

Semana Conteúdo
1 Apresentação da UC. Conceitos fundamentais.
2 Fundamentos Classes e Objetos, Atributos, construtor, métodos, parâmetros, retorno
3 Interação tempo de vida de variável, Overloading, Acoplamento e coesão, responsabilidade. Strings, métodos, primitivas e referências
4 Coleções Agrupamento de objectos em coleções de tamanho variável, ArrayList, NULL
5 " objetos anónimos, coleções de tamanho fixo, refactoring
6 " Hashmap, static e final, iteradores, Random, Bibliotecas, Javadoc
7 Herança Herança, superclass, subclasse
8 Abstração Hierarquia, casting, polimorfismo, qualificadores de acesso, overriding
9 " classes abstratas, métodos abstratos
10 Qualidade Teste, deteção e tratamento de erros
11 Interfaces Sintaxe, diferenças
12 " Interfaces, Try Catch
13 Qualidade Herança de ArrayList, final (classes e métodos), Wrapper classes

Coerência do programa para com os objetivos

Os conceitos fundamentais estabelecem uma plataforma comum aos estudantes independentemente do seu percurso académico anterior à unidade curricular. É apresentada a linguagem Java como equivalente à linguagem estruturada já conhecida, explicando-se também o conceito de POO. No capítulo das classes é apresentado o conceito de um programa cuja unidade atómica é a classe (ou o objeto como sua manifestação). É também mostrado como este paradigma está enraizado na linguagem Java. Nos capítulos Herança e Abstração e Modularização o estudante aprende como se pode criar um programa de computador a partir de um desenho; como esta fase pode influenciar o produto final. No último capítulo é mostrada alguma funcionalidade da framework do Java para interfaces gráficos e como se pode separar a camada lógica, do input/output.

Coerência dos métodos de ensino para com os objetivos

As metodologias de ensino servem para enquadrar as possibilidades tecnológicas que os estudantes têm com uma programação orientada a objetos e liberdade artística da framework Java. Os exemplos canónicos servem para mostrar problemas de rápida compreensão e resolução para que o estudante possa assimilar como será o caminho do seu trabalho. A experimentação serve para deixar os estudantes sair fora do que está programado ao mesmo tempo que se focam em obter um resultado delineado à partida. Nestas sessões o aluno terá não só que pensar como fazer, mas conjugar as suas ideias com ideias adversárias e possivelmente contraditórias dos seus pares; fomentado a procura da solução óptima.

competência genérica relevantedesenvolvida?avaliada?
Análise e síntese  
Aptidão para aplicação na prática dos conhecimentos teóricosSimSim
Capacidade crítica e de avaliaçãoSim 
Capacidade de adaptação a novas situaçõesSim 
Capacidade de auto-critica e de auto-avaliação  
Capacidade de iniciativa e espírito empreendedor  
Capacidade de investigaçãoSimSim
Competência em informática e uso de novas tecnologiasSimSim
Competência em língua estrangeiraSim 
Comportamento ético e responsável Sim
Comunicação oral e escrita  
CriatividadeSimSim
Gestão da informação e da aprendizagem  
Preocupação com a eficáciaSimSim
Preocupação com a qualidadeSimSim
Resolução de problemasSimSim
Saber organizar, planear e gerir  
Este website usa cookies para funcionar melhor e medir a performance (Diretiva da União Europeia 2009/136/EC)
Por favor dispense alguns minutos para responder a umas perguntas rápidas sobre o nosso website.