Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
480 - Informática
Departamento / Department
Departamento de Tecnologias Digitais
Ano letivo / Execution Year
2023/2024
Pré-requisitos / Pre-Requisites
Aproveitamento em Fundamentos de Programação
Objetivos Gerais / Objectives
A frequência desta UC complementa o processo de aprendizagem iniciado na UC Fundamentos de Programação. Um dos objetivos desta UC é transmitir aos alunos as noções, quer fundamentais quer mais avançadas, de um paradigma de programação orientada para objetos, possibilitando a resoluções de problemas quotidianos e aqueles de média escala. Esta UC pretende também dotar os alunos com capacidade lógica e competência técnica no desenvolvimento de aplicações informáticas utilizando uma linguagem de programação de alto nível, orientada para objetos.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
OA1 Estruturar o pensamento lógico dos alunos com vista à resolução de problemas de programação. OA2 Capacitar os estudantes com a capacidade de perceção do paradigma de programação orientada a objetos. OA3 Usar uma linguagem de programação orientada para objetos e as ferramentas necessárias, para desenhar, desenvolver, testar e depurar pequenas aplicações. OA4. Entender e aplicar os conceitos de abstração, encapsulamento, herança e polimorfismo. OA5 Saber utilizar as estruturas de dados fundamentais de uma biblioteca (pilhas, filas, árvores, tabelas de dispersão). OA6. Aplicar mecanismos de controlo de erros. OA7 Explicar a utilidade da utilização de padrões de desenho de software e demonstrar a sua utilização em casos simples. OA8 Desenvolver a criatividade, inovação tecnológica e pensamento crítico. OA9 Desenvolver a autoaprendizagem, revisão por pares, trabalho em equipa, expressão oral.
Conteúdos Programáticos / Syllabus
C1 Classes e Objetos C2 Herança e polimorfismo C3 Classes abstratas C4 Interfaces e comparadores C5 Coleções: listas, conjuntos, mapas C6 Classes anónimas e lambdas C7 Leitura e escrita de ficheiros C8 Exceções e tratamento de erros C9 Genericidade e padrões de desenho C10 Testes JUnit e Documentação
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
O alinhamento dos conteúdos programáticos (Cx) com os objetivos de aprendizagem (OAx) é o seguinte: OA1 – { C1, C2, C3, C4, C5, C6} OA2 - { C1, C2, C3, C4, C5, C6, C7, C8, C9} OA3 - { C1, C2, C3, C4, C5, C6, C7, C8, C9} OA4 - {C3, C6} OA5 - {C5} OA6 - { C8} OA7 - { C9} OA8 - { C1, C2, C3, C4, C5, C6, C7, C8, C9, C10} OA9 - { C1, C2, C3, C4, C5, C6, C7, C8, C9, C10}
Avaliação / Assessment
UC com Avaliação Periódica, sem Exame Final: • 8 Trabalhos práticos individuais (10%), nota min de 9,5 valores; • Projeto em grupo, com discussão oral (45%), nota min de 9,5 valores; • 2 Mini-testes (45%), nota min de 9,5 valores. Se reprova na 1ª época (< 10 val), acede à repetição do 1º e/ou 2º mini-testes (pode também repetir se tiver menos que a nota mínima nalgum deles ou nos dois) - 55% da nota, sendo obrigatória a aprovação no Projeto ou a realização de um projeto individual - 45%.
Metodologias de Ensino / Teaching methodologies
Total de 150 horas: - Aulas expositivas teórico-práticas: teoria,demonstrações, apresentações audiovisuais (12 h) - Aulas participativas: análise e discussão de casos de estudo,apresentações convidadas (3 h) - Aulas ativas: realização de exercícios, dos entregáveis do projeto de grupo em lab e apresentação do projeto (21h) - Aula de apoio tutorial(1h) - Trabalho autónomo do aluno: auto-estudo com apoio Coursera, revisão da matéria dada e realização dos entregáveis do trabalho de grupo (113h)
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
É a seguinte a correspondência entre as metodologias de ensino-aprendizagem e os objetivos de aprendizagem (OA): Aulas expositivas para apresentação oral das unidades de ensino teóricas: OA1 + OA2 + OA3 + OA4 + OA5 + OA6 + OA7 Aulas participativas com análise e discussão de casos de estudo: OA3 + OA4 + OA6 + OA7 Aulas ativas com a realização de exercícios práticos e dos entregáveis relativos ao projeto de grupo: OA1 + OA2 + OA3 + OA4 + OA5 + OA6 + OA7 + OA8 + OA9 Autoestudo e trabalho autónomo, para consulta da bibliografia, revisão de matéria dada e realização dos entregáveis do trabalho de grupo: OA1 + OA2 + OA3 + OA4 + OA5 + OA6 + OA7 + OA8 + OA9
Observações / Observations
--
Bibliografia Principal / Main Bibliography
F. Mário Martins, "Java 8 POO + Construções Funcionais", FCA - Editora de Informática, 2017. ISBN: 978-972-722-838-6 Y. Daniel Liang, "Introduction to Java Programming: Comprehensive Version" 10th Ed. Prentice-Hall / Pearson, 2015. Recursos Java http://java.sun.com
Bibliografia Secundária / Secondary Bibliography
Ken Arnold, James Gosling e David Holmes, "The JavaTM Programming Language", 3ª edição, Addison-Wesley, 2000. ISBN: 0-201-70433-1 Bruce Eckel, "Thinking in Java", 3ª edição, Prentice Hall, 2002. ISBN: 0-13-100287-2 Gamma, Helm, Johnson & Vlissides (1994). Design Patterns. Addison-Wesley. ISBN 0-201-63361-2.
Data da última atualização / Last Update Date
2024-02-16