Skip to main content

ISLA Santarém 13558

Algoritmia e Estrutura de Dados

Informática de Gestão (ISLA-Santarém)
  • ApresentaçãoPresentation
    A unidade curricular destina-se a analisar a complexidade das principais estruturas de dados dinâmicas: vetores (arrays), matrizes, listas, pilhas, filas. Estudar os principais algoritmos de pesquisa e ordenação.
  • 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
    Objetivos: 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, Wengrow, J. (2020). A Common-Sense Guide to Data Structures and Algorithms. Pragmatic Bookshelf.
  • MetodologiaMethodology
    Presencial: 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. 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 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
    7
  • 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,1*A1+0,45*A2+ 0,45* A3.

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

    Avaliação Final ou em Época de Recurso ou Época Especial (A):

    Hipótese 1:

    A1. Portfólio de trabalhos/exercícios de aula. O estudante realizou os exercícios e obteve classificação positiva: mantêm a nota que será considerada nestas épocas de avaliação.

    A2. Trabalho prático (grupo). O estudante participou no trabalho de grupo e obteve classificação positiva na componente individual:

    mantém a nota que será considerada nestas épocas de avaliação.

    A3. Teste teórico/prático (individual). O estudante realiza este Teste em qualquer das épocas em que se submeta a avaliação.

    A classificação final é calculada através da formula prevista na avaliação Curricular (contínua).

    Hipótese 2:

    O estudante não realizou trabalhos/exercícios de aula ou realizando obteve classificação negativa e/ou não participou no trabalho de grupo ou participando obteve classificação negativa na componente de avaliação individual.

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