Syllabus for MA579: Numerical Methods in the Biological Sciences

Instructor: Prof. Samuel A. Isaacson
Office: MCS 231
Time and Location: T/TH 11-12:15PM, CAS 324
Office Hours: T/TH 3:30-4:30pm in my office.

Course Webpage (all homeworks / code will be posted here):

Required Textbook: R. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems, SIAM, 2007. (For numerical methods and analysis.)

- Note, this book is available to download for free through the BU library: here.

Description and Goals:

This course introduces students to the use of numerical methods for studying mathematical models of biological systems. An emphasis will be placed on the development of these methods; understanding their accuracy, performance, and stability; and their application to the study of biological systems. Students will learn to program in Python, develop mathematical models of biological systems, and understand the issues that arise in the numerical approximation of these models. Methods studied will include those for solving ordinary differential equations, partial differential equations, and simulating continuous-time stochastic processes. These methods will be applied to investigate mathematical models of virus dynamics, gene expression, search processes for DNA binding sites, molecular transport, and action potential propagation.


MA 226 or 231 or the equivalent. Elementary knowledge of linear algebra.

Prior programming experience helpful, but not required.

Requirements and Grading:

40% - Homework assignments involving both analytical calculations, implementation of numerical algorithms in Python, and their application to studying mathematical models of biological systems.

20% - Computer lab participation (you may work with one partner).

20% - Midterm exam. In class portion will be 10/26 during lecture.

20% - Final exam. In class portion will be during the assigned exam slot from the registrar, currently 12/19 from 12:30- 2:30pm.

Exam Policy:

You are expected to be able to attend class, and as such, makeup exams will not be given for scheduling conflicts. Similarly, it is your responsibility to make sure you both know the official registrar’s final exam date and can attend the exam. (For example, booking a plane flight before the exam date is not an excusable reason to be unable to take the exam.) If you feel you have an extraordinary reason you will not be able to attend an exam, the instructor must be notified now (otherwise no consideration will be given to providing a makeup exam). If you miss an exam, a makeup will be a possibility only if you have missed the exam for medical reasons and notify the instructor within 24 hours of the reason. Makeup exams will generally be oral exams with you answering questions on the blackboard.

Homework Policy:

Homework assignments will require a mix of analytical calculations, coding, and numerical simulations. Assignments must be turned in as printed typeset reports, with all problems answered in order and any requested figures provided inline within the write-up of the associated problem (or sub-problem). Handwritten assignments will not be accepted. Write your assignments in Latex, or in iPython notebooks with embedded Latex equations.
Assignments where problems or figures are provided out of order will not be graded. Provide a clear delineation between the different parts of each problem, and indication of your answer within each part. Figures must also be fully labeled, with a clear indication of what each curve corresponds to and what parameter values were used in that figure. It is fine to write this information on a printed figure by hand. If you print a figure with color curves in black and white you must label the curves by hand. Any code that is submitted must be provided at the very end of the assignment, following all solutions, with a clear label of what problem it is for. Do not include code within the problems. Any assignments that do not follow these guidelines with be returned with a grade of zero.

Use of Python:

Python will be used for many of the course assignments. I recommend Anaconda Python, which you can download it for free at: (Please use version 3.6 as your default install.)

Python Tutorials:

Python documentation at:

NumPy / SciPy tutorials and documentation:

Google’s Online Python Tutorial:

The iPython-based notebook tutorials at:

Latex Tutorials:

See course webpage.

Tentative Course Outline:

Week 1:

Formulation of SIR Infectious Disease Models

Analytical Solution Methods

Finite Difference Approximations Leading to Euler's Method

Analytical Solutions to Euler's Method and Convergence

Week 2:

Introductory Python Labs

Implementation of Euler's Method

Application to HIV-1 Dynamics

Week 3:

Ordinary Differential Equation Models of Gene Expression and Regulation

Need For Higher Order Accuracy in Models for Gene Expression and Regulation

Runge-Kutta Methods and Their Implementation in MATLAB

Order of Accuracy of Runge-Kutta Methods

Bistability and Oscillations in Feedback Regulation Using Runge-Kutta Methods

Week 4:

Stochasticity in Gene Expression

Continuous Time Jump Process Models

Analytical Solution Techniques in Simple Cases

Week 5:

Gillespie Method

Numerical Studies of Gene Expression Models,

Bimodality vs. Bistability and Population Heterogeneity

Week 6:

Jump Process Approximation Methods for Diffusion and Drift-Diffusion Processes

Week 7:

Diffusion in 1D and as a Model of Movement on DNA

Exit Time Problems, Time to Find Binding Sites by 1D Diffusion

Euler's Method for Solving the Diffusion Equation, Explicit Solution

Week 8:

Accuracy and Stability for Euler's Method

Need for Implicit Methods, Crank Nicholson

Accuracy and Stability of Crank Nicholson

Application of Crank-Nicholson to 1D Diffusion

Week 9:

Molecular Motor Based Transport, Fokker-Planck Equations

Exit Time Problems, Time to Travel Across Microtubules

Week 10:

Discretization Methods for Fokker-Planck Equations, Preservation of Equilibrium

Hodgkin-Huxley Cable Equation Models; Derivation, Physical Significance

Week 11:

Discretization Methods for Hodgkin-Huxley Equations

Hodgkin-Huxley Equation Solution Behavior for Physical Examples

Week 12:

Project Presentations