Syllabus query

Academic Year/course: 2017/18

439 - Bachelor's Degree in Informatics Engineering

30229 - Basic Algorithms

Syllabus Information

Academic Year:
30229 - Basic Algorithms
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
439 - Bachelor's Degree in Informatics Engineering
Second semester
Subject Type:

4.1. Assessment tasks (description of tasks, marking system and assessment criteria)

Progressive release of final exams option:

  1. Labs: Laboratory team work during the semester, 30%.
  2. Theory and problems:
    • Intermediate test: 30%.
    • Final exam (only part of it): 40%.

Option based solely on finals:

  1. Labs: (Individual) programming exam at laboratory, 30%.
  2. Theory and problems:
    • Final exam (complete): 70%.

5.1. Methodological overview

The learning process that is designed for this subject is based on the following:


The study and work continued since the first day of class.
Learning concepts and methodologies for the design and implementation of correct and efficient algorithms through lectures, in which student participation is encouraged.
The application of such knowledge to the design and analysis of algorithms and programs in the classes of problems. In these classes students will play an active role in the discussion and resolution of problems.
Teamwork to address the practices of the subject; the results will be reflected in the delivery of suitably designed and documented programs, as well as the explanation and justification of design and decisions adopted.
Continued work combining the understanding of concepts, analysis and problem solving using "pencil and paper", and the set-up of computer programming projects.

5.2. Learning tasks

In the classroom lessons, the contents of the course will be developed.

In some classes the previously presented concepts and techniques will be used to solve problems.
The practical work takes place in a computer lab or personal computers of students at home. In these sessions students will work in teams and perform a number of programming jobs directly related to the topics studied in the course. A series of jobs or programming exercises will be proposed to be solved in groups and delivered within the fixed deadlines.

5.3. Syllabus

  1. Introduction.
  2. Divide and conquer.
  3. Greedy algorithms.
  4. Dynamic programming.
  5. Backtracking.
  6. Branch and bound.
  7. Linear programming and reductions.

5.4. Course planning and calendar

Scheduled sessions and presentation of works.


The organization of the subject is as follows.

  • Theoretical classes (2 hours per week)
  • Problems classes (1 hour weekly)

Presentation of practical work:

Programming jobs should be performed and presented as specified for each of them, and within deadlines to be announced.

Student Work.

The dedication of the student to achieve the learning outcomes in this subject is estimated at 156 hours distributed as follows:

  • 45 hours, approximately, of classroom activities (theoretical and problem solving classes);
  • 45 hours of programming team work;
  • 60 hours of effective personal study;
  • 6 hours for exams.

5.5. Bibliography and recommended resources

[BB: Basic Bibliography / BC: Complementary Bibliography]

  • [BB] 1. Introduction to algorithms / Thomas H. Cormen ... [et al.] . - 3rd ed. Cambridge, Massachusetts ; London : MIT Press, cop. 2009
  • [BB] 2. Dasgupta, Sanjoy. Algorithms / Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani . Boston [etc.] : McGraw Hill Higher Education, cop. 2008
  • [BB] 3. Brassard, Gilles : Fundamentos de algoritmia / G. Brassard, T. Bratley ; traducción, Rafael García-Bermejo ; revisión técnica, Narciso Martí, Ricardo Peña, Luis Joyanes Aguilar . - 1ª ed. en español, reimp. Madrid [etc.] : Prentice Hall, 2008
  • [BC] 5. Parberry, I. Problems on Algorithms / I. Parberry and W. Gasarch. - 2nd ed. free book, 2002
  • [BC] Kleinberg, Jon. Algorithm design / Jon Kleinberg, Eva Tardos . Boston : Pearson/Addison-Wesley, cop. 2006