Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04092
Acrónimo :
04092
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
15.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


480 - Informática

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2022/2023

Pré-requisitos / Pre-Requisites


Esta unidade curricular não tem pré-requisitos

Objetivos Gerais / Objectives


A UC de Algoritmos e Estruturas de Dados tem como principal objetivo dotar os alunos com conhecimentos aprofundados de técnicas de concepção e desenvolvimento de algoritmos e estruturas de dados, e introduzir a análise da complexidade e do desempenho dos algoritmos. São apresentados algoritmos de pesquisa e ordenação, baseados em estruturas de dados elementares, lineares ou hierárquicas, concebidas para suportar operações eficientes e viáveis do ponto de vista computacional.

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


No final da UC os alunos deverão ser capazes de: OA1: Criar e manipular estruturas de dados OA2: Aplicar os algoritmos de ordenação e de pesquisa mais apropriados para um determinado problema OA3: Analisar a complexidade e o desempenho de um algoritmo OA4. Identificar, implementar e analisar as estruturas de dados e os algoritmos mais adequados a um determinado problema

Conteúdos Programáticos / Syllabus


CP1. A estrutura de dados Union-Find CP2. Análise de algoritmos CP3: Estruturas de dados: pilhas, filas, listas, sacos CP4: Ordenação elementar: selectionsort, insertionsort, shellsort CP5: Ordenação avançada: mergesort, quicksort, heapsort CP6. Complexidade dos problemas de ordenação CP7: Filas com prioridade CP8. Tabelas de símbolos elementares CP9. Árvores de pesquisa binária CP10. Árvores de pesquisa equilibradas CP11. Tabelas de dispersão

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


O alinhamento dos conteúdos programáticos (CP) com os objetivos de aprendizagem (OA) é o seguinte: OA1 - CP1, CP3, CP7, CP8, CP9, CP10, CP11 OA2 - CP4, CP5, CP6 OA3 - CP2, CP6 OA4 - CP1, CP2, CP3, CP4, CP5, CP6, CP7, CP8, CP9, CP10, CP11

Avaliação / Assessment


Época 1: Avaliação Periódica ou Exame Final Avaliação Periódica: -2 Testes (90%), com componente teórica e prática. Média final mínima de 9,5, distribuído da seguinte forma: (45%) Teste 1 com nota mínima 7,5 e (45%) Teste 2 com nota mínima 7,5 -(10%) Tarefas de aplicação e demonstração de conhecimentos Avaliação por Exame: - (100%) Exame Final com componente teórica e prática Os estudantes têm acesso à avaliação por Exame na Época 1 se a escolherem no início do semestre ou se reprovarem na Avaliação Periódica. Época 2: Exame Final - (100%) Exame Final com componente teórica e prática Época Especial: Exame Final - (100%) Exame Final com componente teórica e prática

Metodologias de Ensino / Teaching methodologies


A Unidade Curricular segue metodologias ativas de aprendizagem, com ênfase em aprendizagem por problemas e aprendizagem por tarefas.

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


Aprendizagem baseada em problemas: OA2, OA4 Apredizagem baseada tarefas: OA1, OA2, OA3, OA4

Observações / Observations


-

Bibliografia Principal / Main Bibliography


Para as licenciaturas Python: Python - Algoritmia e Programação Web, FCA, Para as licenciaturas Java: Estruturas de Dados e Algoritmos em Java, FCA Introduction to Algorithms, 3rd edition, MIT Press, Algorithms, 4th edition, Addison-Wesley, 2012

Bibliografia Secundária / Secondary Bibliography


Data da última atualização / Last Update Date


2024-02-16