Course: BIOEN 485/585: Computational Bioengineering

Credits: 4

Instructor: Wendy Thomas

UW General Catalog Course 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. Offered jointly with BIOEN 585. Prerequisites: MATH 307 or AMATH 351; AMATH 301; BIOL 200, BIOEN 335.

Prerequisites: while the list of prereqs is long, all junior and senior BioE ugrads have have taken these courses, and interested students in other departments who lack one or more prereqs are likely to do fine if they have strengths in other areas, so prereqs will frequently be waived. If this applies to you, please discuss your concern with the instructor.

Required for 485 and recommended for 585:

  • MATH 307 (other ODEs, like AMATH 351 will substitute)
  • AMATH 301(other programming like CSE 142 will substitute)
  • BIOL 200 (other molecular/cellular biology like CHEME 355, ME 411 or EE 423 or PHYS 429 will substitute)
  • BIOEN 335 (other mass transport or PDEs like CHEME 330, AMATH 353, MATH 309 or 324 will substitute)

Recommended for 485 and 585:

  • MATH 308 or AMATH 352 (linear algebra)
  • STAT 390 or IND E 315 (probability and statistics)
  • BIOL 220 (physiology)
  • BIOEN 315 or BIOC 405 (biochemistry)
  • BIOEN 336 or ME 373 (systems analysis)

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 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 if they have the resources to do so, because 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 a topic for the final team projects and all students will work in teams 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 identify a research project topic and learn objective 5 below. 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.

Textbooks: The following textbook is recommended for students who have little experience with linear systems, but is not required: “Physiological Control Systems: Analysis, Simulation and Estimation” by Michael C. K. Khoo, New York: IEEE Press, 2001. This book is available electronically to all UW students for free. Required readings include literature articles and instructors’ lecture notes, all posted electronically on this web site.

Learning Objectives: By the end of the course, students should be able to:

  1. Design quantitative models that represent a range of bioengineering problems, including identifying assumptions that are appropriate for the problem to be solved.
  2. Choose and apply computational tools to solve these models, including numerical methods for sovling ordinary, partial, and stochastic differential equations.
  3. Choose and apply analytic tools to verify computational solutions, including steady state and nondimensional analysis.
  4. Identify ways to validate bioengineering models with experimental data.
  5. (For 585 only) Design an integrated plan to combine computational models with experimental data to address a biological or medical question.

Topics Covered:

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

Course Structure:

Lecture:   MW 9:30 – 11:00  LOW 201

Laboratory: There are two laboratory sessions.

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

  • Wednesday, June 10, 2015, 830-1020, LOW 201

Assignments and Grading

Weekly Laboratory Assignments (20%) teach students to apply the course material to bioengineering problems. Students will build models to simulate biological problems, and will interpret the results. These will involve some analytic calculations and significant numerical solutions, as well as some verbal interpretation of the results.

Weekly Discussions (10%) teach students to integrate the course material by discussing specific questions about the paper of the week or about the interpretation aspects of the final project.

Midterm Quiz (20%) will assess students’ basic knowledge of the tools and principles taught in this course. Application and integration of this material is assessed in the final project.

Final Project (50%) will test students’ ability to apply and integrate the course material to solve a novel bioengineering problem. Students will work in teams to design and use a computational model to solve a specific biological or bioengineering problem. Graduate students must propose a project topic, and all students are required to participate in one of the teams. 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.The final exam slot is used for oral project presentations.

Course Policy

(Deadlines, Cooperation vs. Plagiarism, Class Attendance, Disability)

Deadlines. All assignments (reading anlaysis, labs, and projects) must be turned via the course web site by the time and date specified. 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.

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 accommodate 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. You are not expected to come to class if you are sick; if you must miss more than 2 class discussions or the midterm quiz for health reasons, please arrange make up assignments with the instructors.

Helping vs Cheating: The goal of labs and discussion is to provide a learning tool, not to assess, so these are graded leniently. Nevertheless, 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, but you may not copy or take credit for another person’s work and you must write your assignments independently. When you help each other, follow these guidelines:

  • you cannot give an answer
  • you cannot provide code or debug someone else’s code.
  • you can teach coding tools, debugging tricks, or point out correct syntax for functions.
  • 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 and argue interpretation
  • Use the type of help given by your instructors as a guideline.
  • If you receive 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.

Computer Use and Access: 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 – using remote desktop to log onto using your UW net ID, get an access card to room N140 from the Bioengineering front desk (Foege N107), or go during office hours, which are held in the lab. For problems concerning the machines in the lab, personal accounts and software, please contact Norbert Berger, 543-9757, Box 355061, at

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

To request academic accommodations due to a disability, please contact Disabled Student Services, 448 Schmitz, (206) 543-8925 (V/TTY). If you have a letter from Disabled Student Services (DSS) documenting that you have a disability that requires academic accommodations, please present the letter to the instructor so we can discuss the accommodations you might need for the class.

Course Outcomes of High Relevance:

(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.

Relationship of Course to Program Objectives:

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.

Back to Course Syllabi