Back to teaching

Algorithmics

Algoritmia

Master the fundamental principles of algorithm design and analysis. Learn to solve complex computational problems efficiently through divide-and-conquer, dynamic programming, greedy algorithms, and graph theory.

Intermediate Level
14 weeks
Undergraduate Course
Algorithmics Course

Course Overview

This course provides a comprehensive foundation in algorithm design and computational complexity analysis. Students will learn to think algorithmically and develop efficient solutions to computational problems across various domains.

Through rigorous mathematical analysis and practical programming exercises, students will master fundamental algorithmic techniques and data structures, preparing them for advanced computer science courses and real-world software development challenges.

Learning Objectives

  • Analyze time and space complexity using Big O notation
  • Design efficient algorithms using various paradigms
  • Implement and optimize fundamental data structures
  • Solve graph algorithms and network flow problems
  • Apply algorithmic thinking to real-world problems

Algorithm Paradigms

Core Techniques

  • Divide and Conquer
  • Dynamic Programming
  • Greedy Algorithms
  • Backtracking

Advanced Topics

  • Graph Algorithms
  • Network Flows
  • String Algorithms
  • Computational Geometry

Course Information

Duration: 14 weeks
Credits: 6 ECTS
Language: Spanish/English
Prerequisites: Programming, Mathematics