Conhecimentos de Base Recomendados
Ter frequentado a unidade curricular Fundamentos de Programação.
Métodos de Ensino
Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:
– Método expositivo: método explicativo onde fundamentos teóricos e conceito são apresentados pelo professor e discutidos com a turma, seguido de exemplos demonstrativos;
– Método experimental: método activo onde o aluno desenvolve o conhecimento através da resolução problemas e o desenvolvimento de projectos laboratoriais.
Resultados de Aprendizagem
Espera-se que no final da unidade curricular o aluno esteja habilitado a:
– Conhecer os conceitos básicos de Programação Orientada a Objectos (POO): objectos, classes, polimorfismo, herança;
– Modelar e gerir estruturas de dados estáticos e dinâmicos (tabelas, vectores, dicionários e java collections);
– Interagir com estruturas de memória persistente: ficheiros (binários, texto e objectos);
– Seja capaz de estruturar, desenvolver, executar e testar programas usando a linguagem Java.
Programa
Introdução à linguagem Java
– Tipos primitivos
– Arrays de tipos primitivos
– Operadores
– Instruções de controlo de execução
Classes
– Objetos e referências
– Garbage collector
– Construtores
– A palavra chave this
– Construtores que chamam construtores
– Membros static
– Métodos overloaded
– Arrays de objetos
– Classes interiores
Packages
– Organização de componentes
– Especificadores de acesso
Composição e herança
– Composição
– Herança
– Escolher entre composição e derivação
– A palavra-chave super
– A palavra-chave final
Polimorfismo
– Upcasting
– A classe Object
– Classes abstratas
– Interfaces
Colecções
– Principais Interfaces derivados de Collection
– Algumas implementações concretas
Excepções
Ficheiros
Docente(s) responsável(eis)
Álvaro Nuno Ferreira Silva SantosMétodos de Avaliação
A avaliação, na escala 0..20, será realizada através das seguintes componentes:
Exame escrito (12 valores)
- Prova escrita individual e com consulta limitada
- Incide sobre todos os conteúdos da unidade curricular
- Mínimos: 35%
Trabalho prático (5 valores)
- Grupos de 2 elementos, a comunicar até final de Outubro
- Enunciado disponível na 1ª semana de Novembro
- Data limite de entrega: último dia de aulas
- Mínimos: 35%
- Entrega do trabalho através do Nónio, através de um ficheiro ZIP, contendo o projecto e o relatório técnico (PDF)
- Penalização: 5% por cada hora de atraso
- Defesa obrigatória
- A nota alcançada no trabalho é válida para todas as épocas do ano lectivo atual
Presenças nas aulas (3 valores)
- Por cada aula assistida o aluno acumula 0.2 até um máximo de 3 valores
- Apenas são contabilizadas as presenças a partir da 2a semana de aulas
- Os alunos que usufruem de um estatuto que os isenta das presenças nas aulas (ex: trabalhador-estudante) poderão obter os 3 valores através da realização de um teste no final do semestre
- Estes alunos, ao iniciar a realização do teste adicional, abdicam imediatamente de qualquer valorização obtida pela assistência às aulas
- Esta componente não é sujeita a nota mínima.
Estágio(s)
NAO
Bibliografia
Martins, F. M. (2017). Java 8: POO + construções funcionais. FCA. ISBN 9789727228386
Jesus, C. (2013). Curso prático de Java. FCA. ISBN 9789727227501
Martins, F. M. (2014). Projectos de POO em Java. FCA. ISBN 9789727227921
Flanagan, D. (2014). Java in a nutshell: A desktop quick reference (6.ª ed.). O’Reilly. ISBN 1449370829