• EN
  • Facebook
  • Instagram
  • Youtube
  • Linkedin
Você está em: Início > Ensino > Unidades Curriculares > LIB10142
Autenticação
ATENÇÃO: Este site utiliza cookies. Ao navegar no site estará a consentir a sua utilização.

Algoritmos e Estrutura de Dados

Código: LIB10142    Sigla: AED
Área Científica: Informática

Ocorrência: 2024/25 - 1S

Área de Ensino: Informática

Cursos

Sigla Nº de Estudantes Plano de Estudos Ano Curricular Créditos Horas Contacto Horas Totais
LIB1 65 Despacho n.º 9236/2020, de 28 de setembro 7 75 175

Horas Efetivamente Lecionadas

LI-2-TA

Teórico-Práticas: 2,50

Docência - Horas Semanais

Teórico-Práticas: 5,00

Tipo Docente Turmas Horas
Teórico-Práticas Totais 1 5,00
Fernando José da Fonseca Bento - ESGT   5,00

Docência - Responsabilidades

Docente Responsabilidade
Jorge Guerra Teixeira Constantino - ESGT Responsável

Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)

O1. Aplicar os conceitos fundamentais de algoritmia.
O2. Conhecer o padrão de projeto MVC.
O3. Implementar estruturas de dados e algoritmos recursivos.
O4. Implementar tipos de dados abstratos com base em tipos de dados estáticos e dinâmicos.
O5. Analisar e criticar a complexidade de um algoritmo.
O6. Conhecer e aplicar, de forma crítica, diversos métodos de pesquisa, seleção e ordenação.

Conteúdos programáticos

C1) Algoritmos, pseudocódigo e linguagens de programação.
C2) Padrão de desenvolvimento MVC (Model, View, Controller).
C3) Recursão: algoritmos e estruturas de dados recursivos; uso e não uso crítico da recursão.
C4) Tipos de dados abstratos: listas, árvores, pilhas e filas; implementações estáticas e dinâmicas; implementações recursivas e não recursivas; árvores de decisão.
C5) Análise da complexidade de algoritmos: notação Big-O simplificada; comportamento dum algoritmo (melhor e pior caso); comparação de algoritmos.
C6) Algoritmos de pesquisa, seleção e ordenação.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular

Os conteúdos programáticos [C] contribuem para a realização dos objetivos [O] da unidade curricular da seguinte forma:

O1. Conhecer os conceitos fundamentais de algoritmia [C1].
O2. Aplicar o padrão de projeto MVC [C2].
O3. Implementar estruturas de dados e algoritmos recursivos [C1, C3].
O4. Implementar tipos de dados abstratos com base em tipos de dados estáticos e dinâmicos C1, C3, C4[].
O5. Analisar e criticar a complexidade de um algoritmo [C3, C5].
O6. Conhecer e aplicar, de forma crítica, diversos métodos de pesquisa, seleção e ordenação [C3, C4, C6].

Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico

ENSINO PRESENCIAL

M1. Aulas teóricas/práticas: apresentação de conceitos e experimentação de casos ilustrativos.
M2. Aulas práticas/experimentais: resolução de casos, relacionando os diferentes conteúdos programáticos e promovendo a análise crítica de resultados.
M3. Horas de atendimento: apoio ao estudante de acordo com o horário oficialmente estabelecido.

ESTUDO EM AUTONOMIA

M4. Bibliografia recomendada.
M5. Fichas de exercícios publicadas.
M6. Outros materiais de estudo disponíveis na plataforma MOODLE.


Avaliação

AVALIAÇÃO CONTÍNUA

Instrumentos de avaliação: frequência F1; frequência ou projeto em grupo F2; mini trabalhos P.
Nota final = 45% F1 + 45% F2 + 10% P
Condições de aprovação: F1 >= 7.0 E F2 >= 7.0 E Média(F1,F2) >= 9.5 E P >= 9.5

EXAME

Os exames não incluem prova oral.

INFRACÇÕES ACADÉMICAS

Aplica-se o Regulamento de Avaliação do Desempenho Académico dos Estudantes da ESGTS, artº 10º.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular

As metodologias de ensino [M] contribuem para a realização dos objetivos [O] da unidade curricular da seguinte forma:

O1. Aplicar os conceitos fundamentais de algoritmia [M1, M3, M4, M5].
O2. Conhecer o padrão de projeto MVC [M1, M2, M3, M4, M5].
O3. Implementar estruturas de dados e algoritmos recursivos [M1, M2, M3, M4, M5, M6].
O4. Implementar tipos de dados abstratos com base em tipos de dados estáticos e dinâmicos [M1, M2, M3, M4, M5, M6].
O5. Analisar e criticar a complexidade de um algoritmo [M1, M3, M4, M6].
O6. Conhecer e aplicar, de forma crítica, diversos métodos de pesquisa, seleção e ordenação [M1, M2, M3, M4, M5, M6].

O modelo de avaliação contribui para a realização dos objetivos [O] da unidade curricular porquanto afere o conhecimento teórico adquirido pelo aluno e a sua capacidade de o aplicar na resolução de problemas práticos. Para tal, coloca o aluno:

- Em contexto individual, aferindo nomeadamente a retenção e a compreensão dos tópicos programáticos;
- Contextos coletivos, aferindo a sua capacidade de apresentar e de discutir diferentes pontos de vista na resolução de problemas

Bibliografia de consulta (existência obrigatória)

Ascencio, A. (2011). Estruturas de Dados. São Paulo: Pearson.

Drozdek, A. (2013). Data Structures and Algorithms in Java (4th Ed.). Cengage Learning Asia.

Horstmann, C. (2015). Java Concepts: Early Objects (8th Ed.). Chichester, England: Wiley.

Oracle, (n.d) The Java Language Specifications, disponível em https://docs.oracle.com/javase/specs/jls/se7/jls7.pdf.

Rocha, A. (2014). Análise da Complexidade de Algoritmos. Lisboa: FCA.

Rocha, A. (2011). Estruturas de Dados e Algoritmos em JAVA. Lisboa: FCA.

Observações

Nada a referir.