BMI-203 --- Course Overview


Introduction to basic computational issues and methods used in the field of bioinformatics and computational biology. This course emphasizes the implementation of methods and how one goes about attacking computational problems in biology, not expert use of existing tools. Areas addressed include analytical thinking, problem decomposition, and algorithm design and implementation as applied to biological problems such as alignment of DNA and amino acid sequences, phylogenetic tree construction, structural comparisons of proteins, homology modeling, molecular dynamics and energy minimization, gene finding, microarray data analysis, and statistical analysis of biological data. Project assignments will focus on the design and implementation of algorithms addressing these biological areas.


At the conclusion of this course, the student will be able to:

  1. Understand the principals of algorithm design;
  2. Compare and contrast different algorithmic approaches to solving biological problems;
  3. Implement efficient algorithms.


Students are expected to have programming competence in a language such as Python, C, C++, or Fortran. (Examples in class will be primarily in Python.) This course focuses on algorithm understanding and design, not learning how to program. Recommended: BMI-206 - Introduction to Bioinformatics, and PC-204 - Introduction to Object-Oriented Programming.

Requirements for BMI students:

BMI-203 is a required course for students in the Biological and Medical Informatics graduate program. There is no provision for individuals in the BMI program to be excluded from this course. This course was instituted in the curriculum in order to ensure a minimum level of competency in understanding and implementing algorithms for efficiently solving computational problems commonly found in biology. Students who believe they are already knowledgeable with the material presented in this course may implement the homework assignments and final project at their own pace and hand these into the instructors any time before the normal due dates for the course. These will be graded along with assignments from other students and a final grade assigned. A passing grade is required in this course for BMI students to advance to candidacy.

Computing Facilities:

Although accounts will be provided on request on host for use in doing homework assignments and the final project, students may use any convenient computing facilities for their work. Indeed, any personal PC should provide an adequate computing platform for use with the course. Students desiring to download and install a Python interpreter on their PC or Macintosh can find the lastest version at If you prefer to use host socrates instead, drop by room S-1024, ask for an "Account Application Form" and then fill it out, indicating "BMI-203" as the research project. Such accounts will remain active until the end of spring quarter unless other arrangements are made. Host socrates can be reached via the Internet using the "ssh" terminal emulation protocol. See the Secure Shell Tutorial for details.