Competencies and objectives
Course context for academic year 2026-27
The course Algorithms (ALGOR) is the natural continuation of the programming subjects taken during the first year, as well as a direct complement to the Mathematics Laboratory I and Mathematics Laboratory II courses. In this regard, ALGOR helps students consolidate their previous programming knowledge and progress from the mere construction of programs towards the systematic study of the efficiency, correctness, and suitability of algorithmic solutions.
This course represents students' first formal introduction to algorithmics, one of the fundamental pillars of computer science. Its importance is reflected in the development of any software application, since implementing a functional solution is not enough: it is also necessary to determine whether that solution is appropriate, efficient, scalable, and computationally sustainable.
Throughout the course, students are introduced to the methodology required to analyse algorithm efficiency, as well as to the main algorithm design techniques and the paradigmatic algorithms associated with each of them. These contents are directly related to competences such as designing solutions to computing problems, analysing the suitability and complexity of proposed algorithms, and building robust, secure, and efficient applications.
For these reasons, the techniques studied in ALGOR are essential for the effective and efficient development of software. They also provide a crucial foundation for successfully approaching later subjects in the degree, especially those related to advanced software development, artificial intelligence, optimisation, data science and, more generally, any field in which computational problems must be solved rigorously and efficiently.
Learning outcomes / Course competencies (verified by ANECA in official undergraduate and Master’s degrees) for academic year 2026-27
Specific Competences (CE)
- CE1 : Understand and use mathematical language. Acquire the capacity to enunciate propositions in different fields of Mathematics, to construct demonstrations and transmit the mathematical knowledge acquired.
- CE10 : Communicate, both orally and in writing, mathematical knowledge, procedures, results and ideas.
- CE5 : Propose, analyse, validate and interpret models of simple real-life situations, using the most appropriate mathematical tools for the purpose.
- CE7 : Use computer applications for statistical analysis, numerical calculus and symbolic calculus, graphic visualisation and others to experiment in Mathematics and solve problems.
- CE8 : Develop programmes that solve mathematical problems using the appropriate computational environment for each particular case.
- CE9 : Use bibliographic search tools for Mathematics.
Specific Generic UA Competences
- CGUA1 : Understand scientific English.
- CGUA2 : Possess computer skills relevant to the field of study.
- CGUA3 : Acquire or possess basic Information and Communications Technology skills and correctly manage the information gathered.
Generic Degree Course Competences
- CG1 : Develop the capacity for analysis, synthesis and critical reasoning.
- CG2 : Show the capacity for effective and efficient management/direction: entrepreneurial spirit, initiative, creativity, organisation, planning, control, decision making and negotiation.
- CG3 : Solve problems effectively.
- CG4 : Show capacity for teamwork.
- CG5 : Commitment to ethics, the values of equality and social responsibility as a citizen and professional.
- CG6 : Self-learning.
- CG7 : Show the capacity to adapt to new situations.
- CG9 : Show the ability to transmit information, ideas, problems and solutions to both specialist and non-specialist audiences.
Learning outcomes (Training objectives)
No data
Specific objectives stated by the academic staff for academic year 2026-27
The main objective of this course is to provide students with the theoretical and practical foundations required to understand, analyse, and design efficient algorithms. To this end, students are expected to acquire a rigorous methodology that enables them to evaluate the behaviour of an algorithm, estimate its computational complexity, and compare different solutions to the same problem.
More specifically, the course aims to achieve the following objectives:
- To understand and apply the methodology required to analyse algorithm efficiency, both in terms of time and space.
- To understand the concept of computational complexity and use it as a criterion for assessing the suitability of an algorithmic solution.
- To become familiar with the main algorithm design techniques and identify the types of problems for which each technique is appropriate.
- To study the paradigmatic algorithms associated with each design technique, analysing their behaviour, advantages, limitations, and computational complexity.
- To develop the ability to select, adapt, or design suitable algorithms to solve computational problems effectively and efficiently.
General
Code:
25020
Lecturer responsible:
Morales García, Juan
Credits ECTS:
6,00
Theoretical credits:
0,92
Practical credits:
1,48
Distance-base hours:
3,60
Departments involved
-
Dept:
Software and Computing Systems
Area: Languages and Computing Systems
Theoretical credits: 0,92
Practical credits: 1,48
This Dept. is responsible for the course.
This Dept. is responsible for the final mark record.
Study programmes where this course is taught
-
DEGREE IN MATHEMATICS
Course type: CORE (Year: 2)

