Conhecimentos de Base Recomendados
Os estudantes devem possuir e dominar conceitos de programação procedimental e algoritmia.
Recomenda-se a conclusão anterior da seguinte unidadescurriculare:
– Fundamentos de Programação.
Métodos de Ensino
Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:
1. Método expositivo: método explicativo onde fundamentos teóricos e conceitos são apresentados pelo docente e discutidos com a turma. Os conceitos e informações serão apresentados aos estudantes através, por exemplo, de apresentações em slides ou discussões orais. Será utilizado nas aulas para a estruturação e esquematização da informação.
2. Método demonstrativo: baseia-se na exemplificação pelo docente de uma operação técnica ou prática que se deseja aprendida. Centra-se na forma como se executa uma dada operação, destacando as técnicas, as ferramentas e os equipamentos mais adequados. Será por exemplo utilizado em aulas práticas e laboratoriais.
3. Método interrogativo: processo que se fundamenta em interações verbais, sob a condução do docente, adotando o formato de questões e respostas. Permite obter maior dinâmica na aula e consolidar a aprendizagem. Será utilizado por exemplo para recordar elementos de aulas anteriores, e em revisões do conteúdo lecionado.
4. Métodos ativos: serão utilizadas técnicas pedagógicas em que o estudante é o centro do processo de aprendizagem, sendo um participante ativo e envolvido na sua própria formação. O docente assume o papel de facilitador, estimulando o pensamento crítico, a colaboração, a criatividade e a autonomia dos estudantes. Serão aplicados nas aulas para alcançar um ambiente de aprendizagem dinâmico e mais duradouro.
Cada aula será composta por dois momentos:
1. Exposição introdutória e demonstração: No início da aula o docente expõe e discute com os estudantes os novos conteúdos em estudo, demonstrando a sua aplicabilidade;
2. Aplicação prática: Após a exposição introdutória, os estudantes desenvolvem fichas de trabalho e projetos de programação, individualmente e em conjunto, para aplicação prática dos novos conceitos, de forma autónoma e sob a orientação do docente.
Esta será uma unidade curricular predominantemente prática e focada no desenvolvimento de projetos de programação.
Resultados de Aprendizagem
No final da unidade curricular o estudante ficará habilitado a:
1. Identificar os conceitos básicos de Programação Orientada a Objetos (POO): objetos, classes, polimorfismo e herança;
2. Implementar e gerir estruturas de dados estáticos (tabelas uni e multi-dimensionais) e dinâmicos (java collections, nomeadamente arrays, vetores e dicionários);
3. Utilizar estruturas de memória persistente: ficheiros (binários, texto e objetos);
4. Planear, desenvolver e testar programas usando a linguagem Java.
Programa
1. Introdução à linguagem Java; Estrutura e sintaxe;
2. Programação Orientada a Objetos (POO): Classes e Objetos;
3. Tratamento de Exceções;
4. Estruturas de dados estáticas: Tabelas Unidimensionais e Multidimensionais
5. Estruturas de dados dinâmicas: Java Collections, incluindo Arrays, Vetores e Dicionários; Pesquisa e iteração de estruturas de dados;
6. Ficheiros: Texto, Binários e de Objetos; Java Properties; Leitura de dados a partir de dispositivos de entrada; Manipulação de ficheiros e diretorias; Streams de dados;
7. Programação Orientada a Objetos (POO): Herança e Polimorfismo.
Docente(s) responsável(eis)
Marco António Morais VelosoMétodos de Avaliação
No que diz respeito à avaliação estão previstos os seguintes métodos:
1. Avaliação Periódica:
a) dois trabalhos práticos (TP) individuais;
b) um projeto, com vários momentos de avaliação.
Classificação Final = TP1 (06/20) + TP2 (06/20) + Projeto (08/20)
2. Avaliação por Exame (época normal, época de recurso, época especial):
a) um exame individual;
b) um projeto, correspondendo ao projeto desenvolvido durante o periodo letivo.
Classificação Final = Exame (12/20) + Projeto (08/20)
Regras Gerais:
a) cada um dos componentes de avaliação possui uma classificação mínima de 9,00 valores [ou 45%, numa escala de 100] para que seja obtida aprovação na unidade curricular.
b) a realização do projeto envolve a entrega de relatórios sobre os temas em estudo através da plataforma de gestão académica (Inforestudante) e a sua respetiva apresentação e defesa.
c) o projeto é realizado exclusivamente durante o período de lecionação, não sendo possível o seu desenvolvimento em épocas de Exame. A não obtenção da classificação mínima de 9,00 valores [ou 45%, numa escala de 100] no projeto desenvolvido implicará a não admissão do estudante à Avaliação por Exame, com a consequente reprovação à unidade curricular.
d) a realização das diferentes avaliações depende da inscrição prévia através da plataforma de gestão académica.
Estágio(s)
NAO
Bibliografia
Flanagan, D. , & Evans, B. (2019). Java in a nutshell – A desktop quick reference (7.ª ed). O’Reilly.
Martins, F. (2017). Java 8 – POO + construções funcionais. FCA.
Martins, F. (2014). Projectos de POO em java. FCA.
Oracle. (2025). Java platform, standard edition documentation. https://docs.oracle.com/en/java/javase/
Urma, R., Fusco, M., & Mycroft, A. (2018). Modern java in action – Lambdas, streams, functional and reactive programming. Manning.