Programação Orientada pelos Objetos

Objectivos

Saber:

  • Conceitos fundamentais de Programação Orientada pelos Objetos (POO), como o de classe, interface, polimorfia e herança.
  • Técnicas e algoritmos para o processamento de listas, cadeias de carateres, vetores, dicionários e conjuntos, etc.
  • Programação genérica.
  • Bibliotecas de classes e sua utilização.
  • Conceitos básicos de Engenharia de Software na perspetiva de um programador, como a qualidade, reutilização, custos e manutenção, ou eficiência de implementações.

Saber fazer:

  • Projetar e Desenvolver aplicações com POO.
  • Resolver problemas com POO.
  • Usar abordagens de verificação e validação.
  • Realizar de forma progressivamente mais autónoma, individualmente e em grupo, projetos de desenvolvimento de software.

Competências Complementares:

  • Gosto pela programação e pela resolução de problemas.

Caracterização geral

Código

11153

Créditos

9.0

Professor responsável

Carla Maria Gonçalves Ferreira

Horas

Semanais - 5

Totais - 60

Idioma de ensino

Português

Pré-requisitos

A disponibilizar brevemente

Bibliografia

1. Cay Horstmann, Java Concepts: for Java 7 and 8, Sixth Edition, Wiley, 2010.

2. F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA, 2017.

3. Slides de Programação Orientada pelos Objectos (disponibilizados gradualmente na página moodle)

4. David J. Eck, Introduction to Programming Using Java, Seventh edition, 2016.

Método de ensino

As aulas teóricas consistem na exposição de matéria, ilustrada com exemplos de aplicação, e suportada por diapositivos e pela utilização do ambiente de desenvolvimento no computador do docente.
Nas aulas de laboratório, os alunos resolvem exercícios que constituem exemplos concretos de aplicação dos conceitos dados nas anteriores aulas teóricas.
Os alunos podem esclarecer dúvidas durante as aulas ou nos horários de atendimento.

Método de avaliação

Componentes da avaliação: 
Existem três componentes na avaliação: a componente teórica (NT); a componente prática (NP); e a componente de participação nas aulas (NA). A nota final (NF) é calculada pela fórmula:

NF = 0.60 * NT + 0.35 * NP + * 0.05 NA

Componente teórica (NT):
Esta componente de avaliação é constituída por 2 testes ou pelo exame. Os testes e o exame são presenciais, sem consulta, escritos e individuais. Na avaliação por testes, a nota desta componente é calculada do seguinte modo:

NT = 0.3 * NT1 + 0.7 * NT2

em que:

- NT1 é a nota do teste 1;
- NT2 é a nota do teste 2.

Caso seja realizado o exame, a nota NT é a nota obtida em exame.

Componente prática (NP):
Esta componente de avaliação é constituída por 2 trabalhos práticos laboratoriais a realizar em grupos de 2 alunos durante o semestre. A nota da componente prática é calculada do seguinte modo:

NP = 0.3 * NP1 + 0.7 * NP2

em que:
- NP1 é a nota do trabalho prático 1;
- NP2 é a nota do trabalho prático 2.

Componente de participação nas aulas (NA):
Esta componente é constituída pela avaliação da participação dos alunos nas aulas.

Frequência:
Obtém frequência à disciplina o aluno que tenha uma nota superior ou igual a 9.5 na componente prática. O aluno sem frequência é excluído do exame de recurso nesse ano lectivo.

Nota final:
O aluno com frequência obtém aprovação se ambas as notas NF e NT forem superiores ou iguais a 9.5.

Trabalhos práticos:
A entrega dos trabalhos práticos é obrigatória.
O trabalho prático é realizado em grupos de dois alunos, durante parte de algumas aulas e fora das aulas. Se se detectar:
- que um trabalho não foi realizado apenas pelos alunos que o entregaram; ou
- que um aluno entregou um trabalho que não realizou; ou
- que a distribuição das tarefas pelos membros do grupo não foi equilibrada, esse trabalho é anulado e, nesse caso, nenhum dos elementos do(s) grupo(s) obtém aprovação na disciplina.

Todos os alunos com frequência obtida no lectivo corrente podem ser chamados a uma discussão do projecto.

Frequência do ano lectivo anterior:
Os alunos que tenham obtido frequência na edição de 2019/20 mantêm-na no presente ano. Caso entreguem algum trabalho em 2020/21, perdem a frequência automática. Nesse caso, terão que fazer todos os trabalhos práticos.

No cálculo da nota final são usadas as notas dos trabalhos práticos de 2019/20. Quanto à nota de participação é o máximo das notas obtidas em 2019/20 e 2020/21.

Observação:
As classificações relativas a testes, trabalhos práticos e demais componentes de avaliação parcial são arredondadas às décimas.

 

Conteúdo

1. Especificação de interfaces e respetiva documentação
2. Conceção de programas estruturados em classes
3. Polimorfia de interfaces
4. Herança de classes
5. Polimorfia de herança
6. Asserções
7. Testes
8. Tratamento de excepções
9. Programação genérica
10. Utilização de tipos genéricos e colecções

Cursos

Cursos onde a unidade curricular é leccionada: