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

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