Faculdade de Ciências e Tecnologia

Programação Orientada pelos Objetos B

Código

11141

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

6.0

Professor responsável

Luís Manuel Marques da Costa Caires, Vasco Miguel Moreira do Amaral

Horas semanais

5

Língua de ensino

Português

Objectivos

Saber:

  • Dominar os conceitos fundamentais de programação orientada pelos objectos, como o de classe, interface, polimorfia e herança.
  • Conhecer técnicas e algoritmos para o processamento de estruturas de dados tais como listas, cadeias de caracteres, vectores e dicionários.
  • Compreender os mecanismos essenciais de programação genérica.
  • Tirar partido de bibliotecas de classes disponíveis.

Fazer:

  • Projectar e desenvolver aplicações seguindo o paradigma de orientação pelos objectos.
  • Resolver problemas, recorrendo ao paradigma estudado.
  • Usar correctamente as abordagens de verificação e validação estudadas na cadeira.
  • Construir GUIs e aplicações baseadas em eventos.
  • Realizar, individualmente e em grupo, projectos de desenvolvimento de software, integrando as várias competências transmitidas, de forma progressivamente mais autónoma.

Soft-Skills:

  • Aprofundar hábitos de disciplina de trabalho e de cumprimento de prazos.
  • Desenvolver a preocupação com o rigor, e com a execução sistemática de planos de trabalho e métodos previamente determinados.
  • Desenvolver competências de organização de trabalho em grupo.
  • Desenvolver o gosto pela programação e pela resolução de problemas de programação.

Conteúdo

Especificação de interfaces e respectiva documentação.
Concepção de programas estruturados em classes.
Polimorfismo de interfaces.
Herança de classes.
Polimorfismo de herança.
Utilização de tipos genéricos e colecções.
Tratamento de excepções e asserções.
Ficheiros de entrada/saída.

Bibliografia

- Cay Horstmann, Java Concepts, 4ª Edição (ou seguintes), Wiley, 2005, ISBN-­10: 0471697044.
- Diapositivos de Programação Orientada pelos Objetos (serão disponibilizados gradualmente na página moodle da cadeira).
- F. Mário Martins, Java 5 e Programação por Objetos, FCA, 2006, ISBN 978-972-722­548­4.

Método de avaliação

Componentes da avaliação:

Existem duas componentes na avaliação: testes e avaliação prática.

A nota final (NF) é determinada pela fórmula:

NF = NT + NP

em que:

NT é a componente da nota relativa a 2 testes escritos, individuais e sem consulta. 


NP é a componente da nota relativa a um trabalho prático laboratorial, a realizar em grupos de 2 alunos durante o semestre, e a uma avaliação sumativa decorrente da participação do aluno na resolução de mini-testes (vulgos "quizzes",  contando para esta componente de avaliação os melhores 4 de 5).


A componente NT corresponde a 65% da nota final e a componente NP corresponde a 35% da nota final.



A nota da componente NT é calculada da seguinte forma:

NT = 0,20 * NT1 + 0,45 * NT2

em que NT1 é a nota do teste 1 e NT2 é a nota do teste 2, numa escala 0% - 65%.



A nota da componente NP é calculada da seguinte forma:

NP = 0,30 * NTr + 0,05* NA

em que NTr é a nota do trabalho prático laboratorial (projecto) e  NA é a nota da avaliação sumativa (quizzes).


Trabalhos prático:


O trabalho prático é realizado em grupos de dois alunos do mesmo turno, durante parte de algumas aulas e fora das aulas.

Se se detectar que:
 (i) um trabalho não foi realizado apenas pelos alunos que o entregaram; ou
 (ii) que um aluno entregou um trabalho que não realizou; ou
 (iii) 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.


Frequência:


Obtém frequência à disciplina o aluno que tenha uma nota superior ou igual a 9.5 no trabalho prático laboratorial (projecto).


O aluno sem frequência é excluído do exame de recurso.


Frequências anteriores:

Os alunos que tenham obtido frequência até duas edições da cadeira anteriores (ou, seja, até à edição da cadeira de 2012/13) mantêm-na na presente edição. No entanto, para efeitos de avaliação neste semestre, caso entreguem o trabalho prático laboratorial perdem a frequência anterior. Nesse caso, aplicam-se as regras de avaliação definidas para alunos sem frequência.


Exame final:

NE é a nota obtida em exame final (i.e., época de recurso), na presente edição da disciplina. Tem o mesmo peso, para o cálculo da nota final (NF), que os 2 testes: 65%.


Nota final:


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

Para alunos com frequência anterior válida (ou seja, até à edição da cadeira de 2012/13), há 2 cenários alternativos: (1) comparecer aos 2 testes para obtenção de NT; ou ir a exame para obter a NE. A nota final é calculada utilizando na fórmula para o cálculo de NF:

NF = NT + NP se compareceram aos 2 testes, NT >= 9.5 (escala 0-20) e NT2 >= 9.5 (escala 0-20), ou NF = NE + NP se compareceram ao exame de recurso e NE >= 9.5.

O aluno obtém aprovação se NF >= 9.5.


Melhoria de nota:


Os alunos que tenham obtido aprovação na avaliação contínua deste semestre podem usar o exame de recurso para melhorar a nota final. Nesse caso, a nota de exame NE substitui a nota NT na fórmula de cálculo de NF. Como requisito de melhoria de nota, estabelece-se que a nota NE seja superior ou igual a 9.5.

As melhorias de nota, para os alunos que obtiveram aprovação num semestre anterior, a nota final será a nota obtida no exame de recurso (NF = NE).


Observação: As classificações relativas a testes e demais elementos de avaliação são expressas num escala de 0 a 20, arredondadas às centésimas.


Cursos