# Algorithms (2010/2011)

Course code
4S02709
Credits
12
Coordinator
Maria Paola Bonacina
Teaching is organised as follows:
ALGORITMI PER BIOINFORMATICA 6 INF/01-INFORMATICS I semestre Maria Paola Bonacina
LABORATORIO DI PROGRAMMAZIONE II 6 INF/01-INFORMATICS I semestre Alessandro Farinelli

#### Learning outcomes

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

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.

#### Syllabus

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.

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.

#### Assessment methods and criteria

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 of February 2011. The exam consists of two partial tests P and L, where P is a programming project and L is a programming test that takes place in the Laboratory. The final grade is given by 50% P + 50% L.

PB via Single-test mode: the exam consists of a single programming test that takes place in the laboratory, 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.

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 exams at the end of the course (February)): AB = 35% C1 + 40% C2 + 25% CC, where C1 and C2 are written tests in class and CC are the homeworks.

AB via single test: AB = 100% E, where E is a written test, whose difficulty equals that of C1 + C2 + CC.

If a student hands in E, the vote determined by C1 + C2 is cancelled. There is no choosing of grades.

In order to withdraw it is sufficient not to hand-in the test.

 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 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 0-262-03384-4