Discrete Computational Biology (Schedule)

Learning Outcomes

Discrete Computational Biology (DCB) aims to provide an introduction to essential concepts of Bioinformatics, Computational Biology and Systems Biology. This includes modelling of abstract concepts necessary for the precise formulation of computational structures and their interpretations.

Upon completion of the course, the student should:

  • Be competent in using data structures and algorithms to independently design programs that model basic computational problems in life sciences related to sequence, structure and function of biological entities.
  • Understand and apply appropriate techniques to deal with the computational complexity of problems and programs.
  • Be able to apply this knowledge to independently model fundamental concepts in life sciences.

Course Content

Introduction to Scheme. Abstraction and modeling principles: recursive procedural abstractions and the processes they create; data structure abstractions such as sequences and trees; mutable data structures, search and greedy algorithms, dynamic programming, Hidden Markov Models. Compound methods applied to select biological problems: DNA-mapping and sequencing, gene prediction, local and global alignment, and genome reorganization.

Practical Information

DCB is a course that comes as a component of the 15 credit points course "Bioinformatics - starting course" of the master program in Bioinformatics.

The lectures will be held by prof. Jan Komorowski and Nicholas Baltzer. Klev Diamanti will be teaching the labs. The course consists of lectures, labs, and a written examination. One needs to pass both the labs and the written examination in order to pass the course.

The lab reports should be submitted through studentportalen and they have to be approved for a passing grade. Results and feedback to the submitted exercises will also be reported via studentportalen.

Lecture and Lab Materials

All of the course material, except the books, will be available through studentportalen. The lecture slides will be uploaded shortly after the lecture is given, while the laboratory tasks will be available at the start time of their corresponding lab.

  • Book 1: An introduction to bioinformatics algorithms, Jones and Pevzner, ISBN 0-262-10106-8.
  • Book 2: Structure and Interpretation of Computer Programs, Abelson and Sussman, 2nd edition, ISBN 0-262-01153-0.
  • DrRacket: Programming environment for LISP/Scheme http://racket-lang.org/. Note that you should select "Pretty Big" as the preferred language in DrRacket.


We will be using Scheme (Racket), a dialect of LISP. You can read the WIKI article about Scheme or visit its homepage at MIT. Here you can access iTunesU webcasts of Structure and Interpretation of Computer Programs lectures taught by Brian Harvey at Berkeley.

Additional Material (extra to the course material):