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:
Componente escrita (12 valores)
- Teste escrito (4 valores), individual e presencial, a realizar no início de novembro, incidindo sobre os conceitos básicos da linguagem Java
- Exame (8 valores), individual e presencial, incidindo sobre todos os conteúdos da unidade curricular, a realizar em época normal, de recurso ou especial
- Mínimos: 40% do conjunto das duas provas
- A classificação obtida no teste escrito é válida para todas as épocas de exame do ano letivo atual, não havendo lugar a melhoria da classificação nele obtida
Tarefas realizadas nas aulas práticas (4 valores)
- Realização individual de uma tarefa prática por semana, com início na segunda semana de aulas
- A classificação do conjunto das tarefas é atribuída em dois momentos de avaliação individual, realizados ao longo do semestre, em que o estudante explica, justifica e modifica o trabalho por si produzido
- Mínimos: 40%
- Os estudantes com estatuto que os isente da frequência das aulas (ex.: trabalhador-estudante) obtêm esta componente através da realização de tarefas alternativas, podendo cada uma ser objeto de defesa individual
Trabalho prático (4 valores)
- Realizado individualmente
- Enunciado disponibilizado durante o semestre, em data a anunciar pelo docente
- Entrega no último dia de aulas, através do Nónio/InforEstudante, em ficheiro ZIP contendo o projeto e o relatório técnico em PDF
- Defesa individual obrigatória. A classificação desta componente é atribuída no momento da defesa
- A não realização da defesa implica a classificação de 0 valores nesta componente, independentemente do material entregue
- Esta componente não é sujeita a nota mínima
Validade das classificações
- As classificações obtidas nas avaliações realizadas ao longo do semestre são válidas para todas as épocas de exame do ano letivo atual, não sendo repetidas nessas épocas
Prova oral complementar
- Qualquer componente de avaliação pode ser complementada por uma prova oral individual, realizada por iniciativa do docente e sem necessidade de fundamentação prévia
- A prova oral incide sobre o trabalho realizado pelo estudante na componente em causa e destina-se a confirmar a autoria e o domínio dos conhecimentos nela demonstrados
- Verificando-se discrepância manifesta entre o desempenho na prova oral e o trabalho apresentado, a classificação da componente é fixada de acordo com o desempenho demonstrado na prova oral
- A não comparência injustificada a prova oral convocada implica a não classificação da componente
Utilização de ferramentas de inteligência artificial
- Não é permitida a utilização de ferramentas de inteligência artificial nas provas escritas nem nos momentos de avaliação individual
- Nas restantes componentes, as condições de utilização são definidas e divulgadas pelo docente no início do semestre
- O estudante é integralmente responsável por todo o material que submete, devendo ser capaz de o explicar, justificar e modificar quando solicitado
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