Carnegie Mellon University

Computational Methods for Biological Modeling and Simulation

Course Number: 02-512

The general topics covered will be: 

[4 weeks] Models for optimization problems
[6 weeks] Simulation and sampling
[4 weeks] Model inference
Parameter tuning

 The course will emphasize:

Practical algorithms
Algorithm design methods drawn from various disciplines of computer science and applied mathematics that are useful in biological applications

 Coursework will include:

Problem sets with significant programming components
[1 week] Independent or group final projects

Semester(s): Fall
Required/Elective: Required
Units: 9
Prerequisite(s): 15-110 or 02-201 or 15-112


This course has a textbook that was developed based on the class lecture notes:

Russell Schwartz. Biological Modeling and Simulation. MIT Press: Cambridge, MA, 2008.

Copies are available through the CMU Book Store and various online retailers. The References section of each chapter will recommend additional background readings. You may find these helpful if you want to know more about any of the topics we cover, but they are optional and you should not need them to complete any of the assignments. A few additional readings will be provided on Blackboard for topics not covered in the text.

There are also recorded videos of most lectures from a previous year. The quality is poor and the content will change somewhat each year, but you may find them useful. You can view them here.

Learning Objectives

  1. Learn how to formally define and reason about mathematical models of biological systems.
  2. Be familiar with a collection of commonly encountered discrete optimization problems, both tractable and intractable, and be able to reason about adapting them to related problems and solving them in practice.
  3. Be familiar with continuous optimization problems and know general techniques for solving them in constrained and unconstrained variants.
  4. Understand Markov models, how to pose them, how to analyze their mixing times, and how to use both discrete and continuous time variants.
  5. Know how to sample from a probability density.
  6. Know how to pose and numerically integrate ordinary, partial, and stochastic differential equations.
  7. Know how to pose parameter inference problems as optimization or sampling problems and be familiar with a set of general techniques for solving them.
  8. Understand basic principles behind validating models and quantifying uncertainty in those models.

Assessment Structure: 

Your grade in this class will be based on six problem sets, each of which you will have two weeks to complete and a final project.

75% of your grade on problems sets

25% of your grade on final project

Those taking the graduate version of this class [03-712/02-712] will be required to do additional problems on the problem sets and will be expected to choose more ambitious final projects. The class will be graded on separate curves for the 03-512/02-512 and 03-712/02-712 students.

Cross listed with 03-512 and 02-712