Algorithms for Bioinformatics (CPSC 445)

[General Info] · [Course Outline] · [Grading] · [Assignments] · [Final Exams] · [Resources] · [Piazza]

   Tue+Thu, 14:00-15:30 in
DMP 301
   First class: Thu, 2016/01/05

   Holger H. Hoos
   E-mail: hoos "at"
   Office: ICICS/CS complex, Room X541
   Office hours: Wed, 10:00-11:00

Teaching Assistant:
   Robbie Rolin (rolin "at"
   Office hours: Mon, 12:00-13:00 in ICCS X237

About this course:

Bioinformatics involves the application of computational methods to answer or provide insight on questions in molecular biology. This course provides an introduction to the design and analysis of algorithms for bioinformatics applications. Topics covered will include sequence alignment, phylogenetic tree reconstruction (parsimony and distance-based methods), prediction of RNA and protein structure, gene finding, and motif finding. Algorithmic techniques that will be discussed include dynamic programming and heuristic search methods, as well as combinatorial algorithms for exploration of graphs and trees. Statistical models of molecular sequence and structure, such as hidden Markov models and stochastic context free grammars, and associated algorithms, will also be covered.


CPSC 320 and six credits of BIOL beyond BIOL 111, or equivalent. Experience with design and analysis of algorithms is essential for this course. The additional reading listed below, such as ``Molecular Biology of the Cell'', will be useful for those who need to catch up on biological background. The algorithms texts by Cormen et al. and Kleinberg and Tardos provide useful background on combinatorial algorithms, including graph algorithms and dynamic programming algorithms. The book by Hoos and St\"{u}tzle is a more advanced text which provides very useful background on local search techniques.


Durbin, Eddy, Krogh, Mitchison: Biological Sequence Analysis. Cambridge University Press, 1998


We will be using Piazza for class-related discussions. The system is highly catered to getting you help fast and efficiently from classmates, the TA and myself. Rather than e-mailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, e-mail Find our class page at

Please note that we intend to use Piazza only for discussions. Homework assignments and other important information will be posted on the UBC course homepage at

Student Evaluation and Grading

Final grades will be determined approximately as follows:
  • homework assignments (problems and questions; hands-on use of tools, literature research; approx. five overall) - ca. 45%
  • in-class quizzes (cover lectures and assignments; approx. three) - ca. 20%
  • final examination - ca. 35%

Missed Course Work and Academic Misconduct:


Final Exams

Final exams will be 15-20 min oral examinations, taking place on 21 and 22 April 2016. The tentative exam schedule is available
here. This schedule is subject to change, to resolve scheduling conflicts with other exams. If your assigned slot is in conflict with another exam or causes you hardship, as per UBC's rules on scheduling final exams, please notify Robbie and Holger ASAP, but no later than Friday, 8 April. We resolve these cases by random swaps; this means that exam times may change even for students without scheduling conflicts. Further information on the exams will be posted soon and discussed in class.





last update 16/03/24, hh