Laboratório de Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2015/2016 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Consolidação dos conhecimentos de programação estruturada através da realização de dois projetos de pequena e média dimensão.
Resultados de aprendizagem e competências
Ao concluírem esta unidade curricular os estudantes deverão ser capazes de:
- utilizar bibliotecas já existentes com base na documentação de APIs
- desenvolver programas modulares com interfaces entre componentes bem documentadas
- escrever testes unitários simples baseados em invariantes de estruturas de dados
- utilizar um ambiente de desenvolvimento (IDE)
- utilizar um sistema de controlo de versões para coordenar trabalho em equipa
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Programação imperativa e funcional
Programa
Revisões sobre programação em Java. Classes, objetos e packages. Arrays e "strings". Visiblidade e modificadores de acesso. Construtores e encapsulamento. Métodos e atributos estáticos. A classe "Object". Cuidados com herança. Classes vs. Interfaces. Enumerações. Cuidados com referências "null". Comparações de igualdade. Cuidados na re-definição de métodos de teste de igualdade.
Programação com genéricos em Java. Inferência de tipos. Classes "wrapper". Interfaces a coleções genéricas da biblioteca standard.
Uso de exceções para tratamento de erros. Lançar e apanha exceções. Exceções "checked" vs. "unchecked ". Recomendações sobre uso de exceções.
Especificação funcional de uma API; noção de pré e pós-condições e invariantes; implementação em Java. Desenvolvimento de testes para validar invariantes simples.
Utilização de um ambiente integrado de desenvolvimento (IDE). Utilização de um sistema de controlo de versões de código para coordenar trabalho em grupo.
Bibliografia Obrigatória
Reges Stuart;
Building Java programs. ISBN: 9780137062904
McConnell Steve;
Code complete. ISBN: 0-7356-1967-0
Métodos de ensino e atividades de aprendizagem
Aulas teórico-práticas combinando exposição e discussão; acompanhamento da realização dos trabalho propostos.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
25,00 |
Trabalho laboratorial |
75,00 |
Total: |
100,00 |
Obtenção de frequência
Perde frequência o aluno que não obtenha uma classificação mínima de 40% no conjunto dos dois trabalhos práticos.
Fórmula de cálculo da classificação final
20%*1ºTrabalho + 55%2ºTrabalho + 25% Teste final
São aprovados os estudantes que obtenham uma classificação superior ou igual a 9,5.