Course: BIOEN 485: Computational Bioengineering

Credits: 4

Instructor: Wendy Thomas

Texts and Supplemental Materials:

Course Structure:

Lecture: 2 1 hour, 20 minute lectures per week

Labs: There are two laboratory sessions. You should go to the one you are signed up for. However, if you can’t, you may go to the other with instructor permission.

Final Oral Presentation: There is no final exam, but we will use the assigned time slot for oral presentation of the final projects.

Computer Use: Students will use mathematical programming in weekly computer labs and thus should be familiar already with at least one such language, such as MATLAB, or at least with a programming language such as C++ or Java. The course materials and instructors will support the use of the programs MATLAB and COMSOL for course assignments, but students are welcome to use alternative mathematical software if they can independently apply it to solve the problems posed. Tutorials for both MATLAB and COMSOL are included, so prior knowledge with these platforms is an advantage but not required. Students will also need to use a word processing program such as word to write reports and projects. There are three ways to access the Bioengineering Student Computers, which we use for this class – log on remotely using your UW net ID, get an access card to room N140, or go during office hours, which are held in the lab. For more more information, download: Detailed Computer Access Instructions. For problems concerning the machines in the lab, personal accounts and software, please contact Norbert Berger, 543-9757, Box 355061, at

UW Catalog Description: Introduction to computational and mathematical analysis of biological systems, including control, stochastic, and transport systems. Lectures and laboratory sessions emphasize biochemical systems, but also include electrical, mechanical, and fluidic systems.

Instructor’s Detailed Course Description:

BIOEN 485/585 is a 4 credit class with lectures and laboratories. This course will cover methodological and practical aspects of the application of system analysis and computational tools to the solution of biological and biomedical problems. This course is intended for students with a background in fields in bioengineering or related fields. The course provides the resources to use MATLAB and COMSOL to solve computational problems, but students are allowed to use alternative computational tools when they have these resources; none of the learning objectives are specific to the tools. Assignments include weekly labs and a final team project in which a model is built to solve a biological or medical problem. Graduate students in 585 will identify research topics for the final team projects and will lead teams of undergraduate students to solve these problems.

Ad-hoc Honors:

Undergraduate students are encouraged to arrange with Dr. Thomas to take the ad-hoc honors option for this course if they want to learn the graduate level learning objective number 5 below. In practice this means the student will take the same role as the grad students in identifying a project topic. This is only recommended for students already deeply involved in research (grad students, seniors, or juniors who started their research early.) Interested students are encouraged to meet with Dr. Thomas to discuss this option.

Prerequisites by Course: MATH 307 or AMATH 351, AMATH 301, BIOL 200, BIOEN 335

Prerequisites by Topic: Differential equations, programming, molecular and cellular biology, mass transport or partial differential equations

Required or Elective: Elective

Specific Outcomes: By the end of the course, students should be able to:

  • Design quantitative models that represent a range of bioengineering problems, including identifying assumptions that are appropriate for the problem to be solved.
  • Choose and apply computational tools to solve these models.
  • Choose and apply analytic tools to verify computational solutions, including steady state and nondimensional analysis.
  • Evaluate how to validate bioengineering models with experiments.

Outcomes Addressed by this Course:

A. An ability to apply knowledge of mathematics, science and engineering

  • Evaluate how to validate bioengineering models with experiments.

C. An ability to design a system, component, or process to meet desired needs.

  • Design quantitative models that represent a bioengineering problem, including identifying assumptions that are appropriate for the problem to be solved.

E. An ability to identify, formulate, and solve engineering problems.

  • Choose and apply analytic tools to verify computational solutions, including steady state and nondimensional analysis.
  • Choose and apply computational tools to solve quantitative models.

Topics Covered:

  1. Model Building
  2. Model Verification
  3. Model Validation
  4. Linear Differential Equations and Control Systems
  5. Nonlinear Differential Equation Systems
  6. Continuous and Discrete Stochastic Systems
  7. Partial Differential Equation and Transport Models
  8. Parameter Estimation and System Identification

Assignments and Grading:

  • Quizzes (10%) will test students’ knowledge of the mathematical tools and problem-solving approaches necessary to succeed in the labs, project, and course objectives.
  • Weekly Laboratory Assignments (40%) will test students’ ability to apply the course material to bioengineering problems. Students will build models to simulate biological problems, and will interpret the results. These may involve some pen-and-paper work, but will be largely solved numerically using the software MATLAB or COMSOL. The submitted solution must include plots, answers to questions, and code as an appendix, but no formal report is required. The weekly computer lab is designed to get you started on these assignments, but you will need to finish the assignment outside of lab.
  • Final Project (40%) will test students’ ability to integrate the course material to solve a novel bioengineering problem. Students will work in teams to design and use a computational model. The project written and oral reports should include computational solutions, verification of the solutions, validation of the model, and significance of the problem and the solution. While an undergraduate team member (485) may draw on his or her research experience to identify the problem to be solved, the team will usually solve a problem identified by a graduate student (585) or course instructor. The primary role of the undergraduate students is thus the coding, debugging, model verificiation, and/or making of figures. The primary role of the graduate student is to draw on his or her research experience to identify the problem to be solved, and to lead the team to identify and understand the significance of the problem, the most relevant literature, and future or past experimental validation that is outside the scope of the course but would be necessary for publication or other application of the work.
  • Literature Analysis (10%) will teach students to integrate the course material by discussing specific questions about the paper of the week. Students will prepare for the discussions with a written analysis, and are graded for both preparation and participation in these discussions.

Course Policy:

Deadlines. All assignments (reading anlaysis, labs, and projects) must be turned via CollectIt, an hour before the start of class (10:00 am) on the date specified (usually Tuesdays for Readings and Projects, Thursdays for labs) Because solutions will be posted on the due date, no late reports can be accepted without prior permission, so turn in everything you were able to accomplish in the allocated time. This means if you have written something in pen and paper, it will need to be scanned.

Health, family, and other emergencies. We will be fairly understanding of one or two health, family, or even academic emergencies during the quarter, if you contact the instructors prior to the time the assignment is due, so we can delay posting the solution for a few days to accomodate your emergency. If you need to do this, please remind the TA that you were given permission by copying the email onto the first page of the assignment. Since assignments are turned in electronically, all lectures are posted on-line, and several quizzes and literature discussions can be dropped without penalty, you are not expected to come to class when you are sick.

Helping vs Cheating: While we do revise the assignments each year, it is considered cheating to consult or copy worked assignments or solutions from any previous year. You are encouraged to discuss projects and homework with your fellow students, and even collaborate on the solution, but you may not copy or take credit for another person’s work and you must write your homework, lab or term reports independently. When you help each other, follow these guidelines:

  • you cannot give an answer
  • you cannot provide code
  • you can point out the location or type of mistake in code
  • you can teach coding tools
  • you can point out the relevant parts of the lecture notes or text.
  • you can discuss the pluses and minuses of different approaches
  • you can discuss discussion questions in the labs
  • Use the type of help given by your instructors as a guideline.
  • If you recieve help or collaborate, you must acknowledge the person(s) on your written assignment. You will not be graded down for this.

Plagiarism. Please place in quotes any material that you copy directly, and reference the source of material when you rewrite ideas in your own words.

Feedback and suggestions about the class will be highly appreciated.  Please feel free to email me or talk to me in person.

Relationship of Course to Program Objectives (for 485):

Obtain employment in bioengineering related fields, such as medicine, device development, or biotechnology.

  • This course should contribute to the ability of students to obtain employment in related fields by providing hard skills of computational knowledge.

Contribute to responsible development of new technical knowledge.

  • This course should contribute to the ability of students to responsibly develop new technical knowledge by teaching them critical skills of verification and validation needed to ensure quantitative models they design are accurate and appropriate for the problem

Class Schedule:

week Monday Lecture Wednesday Lecture Lab
1 April 1 : lecture 1: Introduction to Modeling

  • model types, with examples
  • verification vs validation
  • compartmental models and biochemical reactions
  • dimensional analysis
April 3 , lecture 2: ODE model building (mechanical, fluid, chemical, electrical systems and the systems approach.

  • systems approach to linear electrical, mechanical, chemical and fluidic systems (Khoo chapter 2)
April 3,4: Lab 1: Linear Model buildingoptional: MATLAB Tutorial  
2 April 8 , lecture 3: lecture 3: linear ODE solutions .

  • review steady state analysis, time domain analysis, Laplace transforms
  • Article Discussion 1: Maitani
April 10 , lecture 4 linear ODE systems analysis 2.

  • nondimensionalization
  • ODE solution verification
  • lab 1 due
April 10,11 Lab 2:ODE Systems Analysis
3 April 15 , lecture 5: Linear Stability Analysis

  • characteristic equation
  • stable, unstable, marginally stable and oscillatory
April 17 , lecture 6 Nonlinear Stability Analysis

  • nullclines and equilibrium points
  • linearization and Jacobian
  • eigenvalues, eigenvectors
  • sensitivity analysis & bifurcations
  • Lab 2 due
April 17,18 Lab 3:ODE Systems Analysis II
4 April 22 , lecture 7 PDE model building (transport models)

  • gradient, divergence, laplacian
  • flux
  • diffusion & convection
April 24 , lecture 8 PDE solutions and analysis

  • steady state solutions
  • numerical solution methods
  • Lab 3 due



April 24,25 : Lab 4 Transport Simulationsoptional: Introduction to COMSOL
5 April 29, lecture 9 Nondimensionalization for PDEs

  • nondimensionalization
  • reaction terms
May 1, lecture 10 Transport Examples

  • Lab 4 due
May 1,2 lab 5 Transport Analysis
6 May 6, lecture 11. Stochastic Simulations Overview

  • Review of probability distributions and statistics
  • The MathWorld is a good reference for statistics.
  • Nitta, Simulating molecular shuttles,
May 8 , lecture 12. Brownian Dynamics (Diffusion; Langevan Equation, Wiener Process)

  • Lab 5 due
  • recommended reading: Higham 2001, pp. 525–533 ONLY.
May 6,7 Lab 6Diffusive Stochastic Processes
7 May 13 , lecture 13. Stochastic chemical reaction equations

  • Gillespie Exact, Tau-leap method, Chemical Langevin Equation
  • recommended reading: Higham 2007
May 15, lecture 14 Examples of Stochastic Reaction Equations  

  • lab 6 due


May 16,17 Lab 7 Stochastic chemical reaction equations
8 May 20, lecture 15. System Identification I

  • Parameter estimation
  • least squares
  • measurement error and weighting schemes)


May 22 , lecture 16. System Identification II

  • examples
  • Lab 7 due
May 22,23 Lab 8

  • System Identification
9 May 27: MEMORIAL DAY May 29, lecture 17. Example: Molecular Basis of Adhesion

  • Lab 8 due
  • group discussions: model Verification and value added
May 29, 30 Lab 9

  • work on final projects
10 June 3, Lecture 19. Review and Course Evaluations. June 5, TBD (guest lecture?) June 5,6 Lab 10

  • work on final projects
finals week
  • Final project due: Wednesday noon
Oral project presentations: Thursday, June 13, 2013,830-1020, THO 125 enjoy the summer!

Back to Course Syllabi