Skip to main content

ISLA Santarém 18752

Algoritmos e Estruturas de Dados

Engenharia Informática (L) (ISLA-Santarém)
  • ApresentaçãoPresentation
      
  • ProgramaProgramme
    1. Conceitos de Algoritmos e Estruturas de Dados: Analise da eficiência de algoritmos. Notações assintóticas. 2. Estruturas de dados dinâmicas: Vetores e Matrizes. Pilhas, Filas, Listas, Arvores e Grafos. Operações com as estruturas (Inserir, alterar, eliminar e ordenar). 3. Ordenação e Pesquisa: Ordenação: Bubble Sort, Quick Sort, Selection Sort, Insertion Sort, Shell Sort, Merge Sort. Pesquisa: sequencial, binária, hashing; Comparação dos algoritmos. 4. Recursividade: Conceitos base. Função Fatorial, Fibonacci, Tail Recursion, outras funções. Problemas clássicos de funções recursivas. 5. Implementação em Java: Modelo de camadas. Ficheiros, streams e serialização. Aplicações com base de dados. Tratamento de erros.
  • ObjectivosObjectives
    O1. Introduzir e desenvolver estratégias algorítmicas fundamentais. O2. Analisar o desempenho de algoritmos iterativos e recursivos em termos da sua complexidade algorítmica. O3. Aplicar estratégias sistemáticas de depuração, gestão de falhas e implementação de algoritmos e estruturas de dados com correção e robustez. Competências: C1. Implementar as estruturas de dados mais relevantes, nomeadamente arrays, matrizes, listas, pilhas, filas e arvores. C2. Usar técnicas algorítmicas, como seja a pesquisa e a ordenação. C3. Implementar técnicas de programação recursivas. C4. Utilizar a linguagem Java para implementar as estruturas e os algoritmos.
  • BibliografiaBibliography
    Campesato, O. (2023). Data Structures in Java. Stylus Publishing, LLC. Malhotra, D., & Malhotra, N. (2020). Data Structures and Program Design Using Java: A Self-Teaching Introduction. Mercury Learning and Information. La Rocca, M. (2021). Advanced Algorithms and Data Structures. Manning Publications. Rocha, A. M. A. (2014). ESTRUTURAS DE DADOS E ALGORITMOS EM JAVA, FCA, 2011 Wengrow, J. (2020). A Common-Sense Guide to Data Structures and Algorithms. Pragmatic Bookshelf.
  • MetodologiaMethodology
    Sincrona a distância:   1. Aulas teóricas de exposição dos conteúdos recorrendo ao método expositivo, complementado como os métodos interrogativo e interativo para consolidar os conhecimentos adquiridos através do questionamento e realização de pequenos exercícios. Presencial: 2. Aplicação prática dos conteúdos através de exercícios e trabalhos. Assim, cada tópico estudado é reforçado através de exercícios práticos. Autónoma: 3. Resolução de exercícios adicionais propostos pelo docente.   O docente dá feedback (Orientação Tutorial - OT) sobre os resultados obtidos pelo estudante na resolução dos problemas propostos, presencialmente em contexto de sala de aula ou a distância em modo assíncrono através da plataforma Moodle.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Obrigatório
  • EstágioInternship
    Não
  • AvaliaçãoEvaluation

    Avaliação Curricular (contínua):

    A1. Portfólio de trabalhos/exercícios de aula.

    A2. Trabalho prático (relatório e projeto).

    A3. Teste final prático.

    A classificação final é calculada através da fórmula Classificação Final = 0,2*A1+0,4*A2+ 0,4* A3.

    O estudante é aprovado se obtiver classificação igual ou superior a 9,5 valores.

    Avaliação Final (A): O estudante realiza o exame de cariz eminentemente prático (A=100%) e é aprovado se obtiver uma classificação igual ou superior a 9,5 valores em 20.

    Avaliação em Época de Recurso e Época Especial (A): O estudante realiza o exame de cariz eminentemente prático (A=100%) e é aprovado se obtiver uma classificação igual ou superior a 9,5 valores em 20.