Course code
Name of lecturer
Maria Paola Bonacina
Number of ECTS credits allocated
Academic sector
Language of instruction
I semestre dal Oct 1, 2013 al Jan 31, 2014.
Web page

To show the organization of the course that includes this module, follow this link * Course organization

Lesson timetable

Learning outcomes

Objective of the course is to teach the basics in design and analysis of algorithms with some emphasis on problems of interests for bioinformatics.


Sorting algorithms. Divide-and-conquer algorithms. Data structures. Graph algorithms. Search algorithms. Greedy algorithms. Dynamic programming. Algorithms and complexity: big-O notation; basic elements of algorithm analysis.

Reference books
Author Title Publisher Year ISBN Note
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 978-0-262-53305-8

Assessment methods and criteria

The grade in "Algorithms" is given by 50% AB + 50% LPII, where AB is the grade in "Algorithms for Bioinformatics" and LPII is the grade in "Programming Laboratory II".

AB = 35% C1 + 40% C2 + 25% CC,
LPII = 50% P + 50% L,
where C1 is the midterm exam, C2 is the final exam, CC is the overall grade in the homeworks, P is a project in the lab and L is a lab test. The grade thus generated is registered at the first exam session in February.

Alternatively, AB = 100% E, LPII = 100% EL, where E is a written test, and EL is a lab test, each hard enough to match the difficulty of C1 + C2 + CC and P + L, respectively.

Registration: all grades are registered.

Withdrawal: Students may withdraw by informing the instructors.

Cheating: All tests and projects are individual work. Cheating is strictly forbidden and will determine lowering of grades for all students involved.