Course Meeting Times

Lectures: 2 sessions / week, 1.5 hours / session


Structure and Interpretation of Computer Programs (6.001) or Introduction to Algorithms (18.410J/6.046J) or permission of instructor. No biology background is assumed. Familiarity in some reasonable programming language is a must.


This book will treat most of the topics, though it may lack depth in some areas.

Jones, Neil C., and Pavel A. Pevzner. An Introduction to Bioinformatics Algorithms (Computational Molecular Biology), Bradford Books. Cambridge, MA: MIT Press, August 1, 2004. ISBN: 0262101068.

Homework and Grading

Problem Sets

There will be a problem set for each section on the calendar. Since some sections are shorter than others, some problem sets will be easier than others. Problem sets will be given out at the first lecture of a new section and will be due within a week of the last lecture of that section. Problem sets will be due no sooner than 3 classes after the class in which they are handed out.

Each problem set will contain several easy problems and a few challenging ones (which will be marked with a '*'). If a problem set contains an extra-credit question, then this means I do not have a good answer and I would like to know if you do. You are expected to solve the easy problems and make progress on the challenging ones. Good answers on the extra-credit will endear you to me and might put +'s on your final grade.

Group Work

Working in groups of two is encouraged, especially among students of different backgrounds (biology or computation). Each student will have to submit their own write-up of the solutions. Final projects can be done in larger groups if justified.

Scribes and Editors

In addition to the problem sets, each student is responsible for scribing one lecture and editing one lecture. If you are interested in scribing specific topics, let us know by email, otherwise, volunteers will be chosen at the beginning of each lecture. It is thanks to the scribe and editor volunteers that lecture notes are made available online.

Final Project

A final project is required of each student for them to get a good grade. The project can be studying a single paper in depth, implementing/extending an algorithm, or proving theoretical results on a problem of the student's choice. Topic for the final project should be set between the instructor and the student no later than drop date.