# Algorithms (2011/2012)

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. Development of algorithms for sorting, search (greedy and exhaustive) and main algorithms on graphs, applied to problems that are relevant to bioinformatics. Basic functionalities of numerical tools (MATLAB) and spreadsheets for data visualization and statistical analysis.

Module: ALGORITMI PER BIOINFORMATICA
-------
Sorting algorithms. Divide-and-conquer algorithms. Data structures. Graph algorithms. Search algorithms. Greedy algorithms. Dynamic programming. Algorithms and complexity: big-O notation.

#### Assessment methods and criteria

Module: LABORATORIO DI PROGRAMMAZIONE II
-------
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".
Following the University Handbook for Teaching, beginning with AcaYr 2011-12, the "Algorithms" course follows the model "two or more intermediate tests, one final test and three full exams" so that there are altogether four possibilities to pass the class.

With multiple tests: AB = 35% C1 + 40% C2 + 25% CC, LPII = 50% P + 50% L, where C1 (intermediate test) and C2 (final test) are written tests in class, CC is the overall grade in the homeworks (intermediate test), P is a project in the lab (intermediate test) and L is a lab test (intermediate test). The grade thus generated is registered at the first exam session in February.

With single tests: 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. Two full exams are offered in February, and one in June. In the February session it is possible to take E at the first full exam and EL at the second one or vice versa. In June one has to take E and EL together.
Registration: it is not possible to reject a grade and all grades are registered. Withdrawal: Students may withdraw by informing the instructor. All tests and projects are to be carried out individually. Cheating is strictly forbidden and will determine lowering of grades for all students involved.

Module: ALGORITMI PER BIOINFORMATICA
-------
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 a written test (midterm exam), C2 is a written test (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 instructor. All tests and projects are to be carried out individually. Cheating is strictly forbidden and will determine lowering of grades for all students involved.

 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