José Luis Balcázar

Position

Lecturer

Subjects they teach

Subject
Programme
Typology

Algorithms and Data Structures

Bachelor's Degree in Bioinformatics

Required

Programme:
Bachelor's Degree in Bioinformatics

Description

This course takes an in-depth look at the notion of algorithmic efficiency and presents several techniques for analysing and improving it. We introduce the main techniques for efficient algorithms design (greedy, divide-and-conquer, dynamic programming, backtracking, etc.), as well as a brief introduction to algorithmic intractability. More advanced data structures such as graphs, trees and "heaps", as well as key partner algorithms and some applications, are also introduced.

Code:
52219

Créditos:
5 ECTS

Language:
English

Type of subject: Required

Programming and Algorithms I

Bachelor's Degree in Bioinformatics

Required

Programme:
Bachelor's Degree in Bioinformatics

Description

These two courses cover the basics of algorithms and data structures, with emphasis on fundamental algorithms and basic control structures and applications. We will focus mainly on the imperative paradigm and introduce object-oriented design. The main programming language will be Python, although we will also use C++ to discuss implementation aspects and efficiency.

Code:
51103

Créditos:
4 ECTS

Language:
English

Type of subject: Required