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
Aula Prática e Laboratorial (PL) :
21.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 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 (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