You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Artificial Intelligence and Data Science
  4. Algorithms and Data Structures

Algorithms and Data Structures

Code 16671
Year 1
Semester S2
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements Python knowledge.
Learning outcomes The objectives of this UC focus on providing students with algorithmic complexity analysis techniques, different complex data structures, and a set of algorithms for solving computational problems.

At the end of this curricular unit, the student must be able to:
- Explain the usefulness and complexity of different data structures, as well as being able to combine different data structures to solve problems.
- Analyze the computational complexity (temporal and spatial) of a given algorithm.
- Implement different algorithms and data structures to solve complex problems.
Syllabus 1 - Recursion
2 - Analysis of temporal and spatial complexity
3- Sorting algorithms
4 - Data structures:
- Vectors
- Dynamic vectors
- Lists, doubly linked lists and variants
- Queues, stacks, and their variants (priority, double-entry)
- Trees
- Computational representation of graphs
5 - Search algorithms
6 - Problems with trees and graphs
Main Bibliography Theoretical classes PDFs.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to Algorithms (Fourth Edition), The MIT Press, 2022.
Brad Miller and David Ranum. Problem Solving with Algorithms and Data Structures using Python, Luther College, 2006.
Teaching Methodologies and Assessment Criteria The UC includes 2 hours of theoretical classes and 2 hours of practical laboratory classes per week.
In theoretical classes, different topics from the UC program are presented, as well as problem-solving related to the topic under study. In practical classes, problems are presented for students to solve. These problems may require the use of the Python language to solve them.

Knowledge assessment test (10 points - 50%) - 1 test or exam
Three (3) practical assignments (2+3+5 values - 50%).
Language Portuguese. Tutorial support is available in English.
Last updated on: 2025-03-20

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.