# Algorithms (2009/2010)

Course code
4S02709
Credits
12
Coordinator
Maria Paola Bonacina
Other available courses
Teaching is organised as follows:
ALGORITMI PER BIOINFORMATICA 6 INF/01-INFORMATICS 1st Semester Maria Paola Bonacina
LABORATORIO DI PROGRAMMAZIONE II 6 INF/01-INFORMATICS 2nd Semester Alessandro Farinelli

#### Learning outcomes

Module: ALGORITMI PER BIOINFORMATICA
-------
Objective of the course is to teach the basics in design and analysis of algorithms with emphasis on problems of interests for bioinformatics.

Module: LABORATORIO DI PROGRAMMAZIONE II
-------
Objective of the course is to provide the basic knowledge to develop algorithms and use applications relevant to bioinformatics.

#### Syllabus

Module: ALGORITMI PER BIOINFORMATICA
-------
Algorithms and complexity: big-O notation. Iterative vs. recursive algorithms. Sorting algorithms. Data structures. Exhaustive search. Greedy algorithms. Dynamic programming algorithms. Divide-and-conquer algorithms. Graph algorithms.
Introduction to NP-completeness.

Module: LABORATORIO DI PROGRAMMAZIONE II
-------
Java implementation of dynamic data structures and relevant algorithms. Recursion. Interfaces and packages. The student will acquire the necessary knowledge through assisted software development and realizing specific projects. Basic and advanced functionalities of spreadsheets targeted towards data visualization and statistical analysis. Basic functionalities for numerical data processing and statistics (MATLAB, R). Basic aspects to bioinformatic scripting languages.

#### Assessment methods and criteria

Module: ALGORITMI PER BIOINFORMATICA
-------
The grade in Algorithms for Bioinformatics (AB) is worth 50% of the grade in the Algorithms class.

AB via multiple tests (only for the instance of the exam at the end of the course): AB = 50% C1 + 50% C2, where C1 and C2 are written tests in class.

AB via single test (for all instances of the exam): AB = 100% E, where E is a written test, whose difficulty equals that of C1+C2.

If a student tries both C1+C2 and E, the vote determined by C1+C2 is cancelled as soon as E is handed in for grading. There is no choosing of grades.

Module: LABORATORIO DI PROGRAMMAZIONE II
-------
The grade in Programming Lab II (PB) is worth 50% of the grade in the Algorithms class.

PB via Partial tests mode: it applies only to the exam sessions right at the end of the class. The exam consists of two partial tests. The final grade is given by 50% partial test 1 + 50% partial test 2.

PB via Single-test mode: the exam consists of a single test, whose difficulty is equivalent to that of the two partial tests, and whose grade determines alone the final grade for PB. This mode applies to all sessions.

 Author Title Publisher Year ISBN Note Neil C. Jones, Pavel A. Pevzner An introduction to bioinformatics algorithms (Edizione 1) MIT Press 2004 0-262-10106-8 Testo adottato Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 0-262-03384-4 Testo complementare T. Cormen, C. Leiserson, R. Rivest, C. Stein Introduzione agli Algoritmi e Strutture Dati (Edizione 2) McGraw-Hill 2005 88-386-6251-7 Traduzione italiana della II edizione del testo complementare