Vol. 4 No. 6 April 2006

BE FAQ 

BE.180 Programming

BE.109 Lab

Pfizer Tour

Lauffenburger Interview

Student Research

Printable Version

The BioTECH Quarterly

A Profile of BE.180: Programming for Biological Engineers

By Brian Chase '06, Managing editor

   The first official class of Course 20, Biological Engineering sophomores, started their spring semesters with one entirely new subject on their schedule: BE.180, a six-credit course entitled “Programming for Biological Engineers”. In this article, the class TAs Laura Sontag and Sabrina Spencer, both Computational and Systems Biology graduate students, discuss the goals and content of the course.

    BE.180 is being designed and taught by Cabot Assistant Professor of Biological Engineering Drew Endy. According to Sabrina, “BE.180 is the first course BE students take to learn computer programming, with applications to biological engineering as the motivation. The students are learning how to program DNA using engineering concepts such as abstraction, decomposition, and standardization. Programming DNA involves writing the genetic code that will do something useful when correctly placed inside a cell.”

    “There are similar concepts in programming DNA and programming computers,” Laura explains, “and we are teaching the students to do both. For example, in one assignment the students used object-oriented programming to create many inverters made from various genetic parts such as promoters, ribosome binding sites, and open reading frames.” Sabrina continues, “Just like how a NOT gate converts a low voltage input signal into a high voltage output signal, a genetic inverter does something similar, with rate of transcription as the common signal carrier.”

    The focus of the class is not to teach one specific programming language, but rather to get the students comfortable with basic programming concepts so they can later pick up other programming languages. As it is currently designed, the students use Python and MATLAB throughout the course. According to Laura, these languages were chosen because they are probably the most useful for biological engineering programming and because more advanced courses such as BE.320 and BE.490 use these languages.

    Of course, being the first semester the class is taught, there may be flaws to address in the future. One issue may be the balance between teaching programming to students who are well-versed in biology and teaching biology to students who are well-versed in programming, without boring or alienating either group. Sabrina explained that while “the students with programming experience might be a little bored, we hope those students spend more time studying the biological concepts of the class.” A second issue might be the credit allotment of the class and the amount of work involved. Might the class need to be expanded to 12 hours? Both of these issues still need to be worked out with comments and feedback by the students themselves. Obviously, not everything about the new BE.180 course will be perfect the first time. Laura admitted that “someone has to be the guinea pig, but most of the kinks should be ironed out for 2007.”

    The follow-up course to this one is BE.181, “Computation for Biological Engineers”, which will teach analytical, graphical, and numerical methods supporting the analysis and design of integrated biological systems, and will make use of the skills learned in BE.180.

©2005-2006 Biomedical Engineering Society of the Massachusetts Institute of Technology. All Rights Reserved.
Webmaster Connie Yee and Kenny Yan