85301 - Algorithms and Data Structures in Biology

Academic Year 2021/2022

  • Moduli: Enrico Malizia (Modulo 1) Enrico Malizia (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Genomics (cod. 9211)

Learning outcomes

By the end of the course, the student his familiar with the design and analysis of correct and efficient algorithms and data structures. In particular, the student has basic knowledge of algorithms and data structures. The student is able to design correct and efficient algorithms for common computational tasks in biology and to analyse existing algorithms and data structures.

Course contents

  • Concepts of algorithm and computational complexity: definition of algorithm, recursive algorithms and iterative algorithms, asymptotic notation.
  • Exhaustive Search: restriction mapping, motif finding.
  • Greedy algorithms: sorting by reversals, approximate algorithms.
  • Dynamic programming: edit distance, Manhattan distance.
  • Divide and Conquer.

Readings/Bibliography

Neil C. Jones and Pavel A. Pevzner. An Introduction to Bioinformatics Algorithms. MIT Press, 2004.

Teaching methods

Class Lectures; practical exercises.

Assessment methods

The exam consists in few (marked) pieces of coursework to be delivered during the course, a written test, and an oral test. These activities aim at assessing that the student has acquired the necessary skills in designing efficient algorithms besides the theoretical foundations.

Office hours

See the website of Enrico Malizia