Skip to main content

ISLA Santarém 13558

Algorithms and Data Structures

Information Technology Management (ISLA Santarém)
  • ApresentaçãoPresentation
    The course aims to analyze the complexity of the main dynamic data structures: arrays, matrices, lists, stacks, queues. Study the main search and sorting algorithms.
  • ProgramaProgramme
    1. Concepts of Algorithms and Data Structures: Analysis of algorithm efficiency. Asymptotic notations. 2. Dynamic data structures: Vectors and Matrices. Stacks, Queues, Lists. Trees and Graphs. Operations with structures (Insert, change, delete and sort). 3. Sorting and Search: Sorting: Bubble Sort, Quick Sort, Selection Sort, Insertion Sort, Shell Sort, Merge Sort. Search: sequential, binary, hashing; Comparison of algorithms. 4. Recursion: Basic concepts. Factorial Function, Fibonacci, Tail Recursion, other functions. Classic problems of recursive functions. 5. Implementation in JAVA: Layered model; Files, streams and serialization; Applications with database; Error handling.
  • ObjectivosObjectives
    Objectives: O1. Introduce and develop fundamental algorithmic strategies. O2. Analyze the performance of iterative and recursive algorithms in terms of their algorithmic complexity. O3. Apply systematic debugging strategies, failure management and implementation of algorithms and data structures with correctness and robustness. Competences: C1. Implement the most relevant data structures, namely arrays, matrices, lists, stacks, queues and trees. C2. Use algorithmic techniques, such as search and sorting. C3. Implement recursive programming techniques. C4. Use the JAVA language to implement structures and algorithms.
  • 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
    Face-to-face: 1. Theoretical classes presenting the content using the expository method, complemented by the interrogative and interactive methods to consolidate the knowledge acquired through questioning and small exercises. 2. Practical application of the content through exercises and assignments. Thus, each topic studied is reinforced through practical exercises. Independent: 3. Resolution of additional exercises proposed by the teacher. The teacher provides feedback on the results obtained by the student in solving the proposed problems, either in person in the classroom or remotely in asynchronous mode through the Moodle platform.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    7
  • NaturezaNature
    Mandatory
  • 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.