Skip to main content Skip to secondary navigation

Biomedical Computation Major Program

Main content start

2023-24 BMC Program Requirements

Computational techniques are now being used to ask and answer fundamental questions in biology and medicine in ways never before possible.

The Biomedical Computation (BMC) major allows students to focus on this exciting interdisciplinary field – the use of advanced computational techniques in biology and medicine.

BMC is an IDP, or interdisciplinary program, with its home in the School of Engineering. Students who major in BMC will gain a rigorous foundation in the many component fields that go into biomedical computation, including computer science, math and statistics, biology, and chemistry. Each student then has the opportunity to pursue one of four tracks most suited to their interests.

Our graduates have gone on to pursue a wide range of paths after graduation. Many of our students have chosen to continue their studies and pursue advanced degrees in various fields, including bioinformatics, bioengineering, or any of the pure biological or computational sciences. We have also had a number of students enroll in medical school or MD/PhD programs. BMC graduates have also ended up in fields a bit farther away from biomedical computation, such as law school, management consulting, and others. BMC gives students a solid foundation in a number of different fields, and students have the ability to pursue a variety of career paths in any of the fields that make up the major.

Find current major requirements for this and all other School of Engineering major programs at Explore Degrees

Components of BMC

BMC Core: Math, Science, Engineering Fundamentals, and TIS

All BMC students begin by building a solid foundation in the component disciplines of biomedical computation. Most of these courses are typically taken during freshman and sophomore year. These courses include:

Math: 21 units minimum from the following:

  • MATH 19/20/21 or 10 units AP Calculus BC
  • CS 103. Mathematical Foundations of Computing
  • CS 109 or STATS 116 or MS&E 120/220 or EE 178 or CME 106 or MATH 151
  • One additional math course specific to your track; see track/concentration options below

Science: 17 units minimum from the following:

  • CHEM 31M or CHEM 31A or 31B General Chemistry, or CHEM 33 Structure & Reactivity
  • Biology Core (BIO 82, 83 or 84, 86) or Human Biology Core (HUMBIO 2A, 3A, 4A)
  • PHYSICS 41 Mechanics or PHYSICS 43 E&M or PHYSICS 45 Light & Heat

Engineering Fundamentals:

  • CS 106A or 106B Programming Methodology or Abstractions
  • One additional elective (see track/concentration options below)

Technology in Society (TIS): One course required from list of SoE approved courses. Note that the course chosen must be on the SoE list the year it is taken.

BMC Depth

A total of 42 Engineering Fundamentals and Core/Depth units must be taken, with a minimum 30 units from within the School of Engineering. The core classes only provide 27 engineering units, so the remaining units 3 units of must be taken from within the electives.

Depth Courses:

  • CS 106B Programming Abstractions (CS 106A/B, 107, and 161 are required. One of 106A or 106B should be listed in Fundamentals instead of in Depth) 
  • CS 107 Computer Organization and Systems
  • CS 161 Data Structure of Algorithms

Please see below or the program sheets for the exact course lists.

Track Core: For the upper division courses in the major, a student must choose between one of the four tracks of BMC:

Two of the tracks, Informatics and Simulation, put a bit more emphasis on the computational aspects of the discipline, while the other two, Cellular/Molecular and Organs/Organ Systems, provide more depth in biology.

Each of the tracks consists of a core of about three to five courses. These are courses that provide students the core knowledge related to their in-depth area of study. The tracks also have elective requirements, to ensure students gain breadth in upper division courses as well. The entire track portion of BMC is composed of nine to ten courses in total. Lists of electives can be found on the BMC website.

BMC Research, Writing in the Major, and Capstone Class

Research: Every BMC student must complete 6 units of directed research under a faculty member. This requirement of research is fairly unique to BMC among majors at Stanford. It allows our students to work on cutting-edge projects as a part of their undergraduate curriculum. This research typically occurs during the junior or senior year, and may be undertaken with faculty members from any School at Stanford. The main requirement is that the student be doing actual, hands-on biomedical computation as a part of the research project. The student must get approval from the BMC Program Directors before undertaking his or her research project.

WIM: The Writing in the Major requirement gives students an opportunity to learn to effectively communicate ideas in their fields of study. In BMC, there are two ways to satisfy this requirement:

1. Students may fulfill the WIM requirement by writing a ~15 page technical report concurrently with performing the research for the research requirement. This report is in the form of a technical publication about the students work, and is completed under supervision of your research mentor and the School of Engineering writing tutors. For this option, student can either 1) Enroll in least 3 of the 6 research units as CS191W, or 2) enroll in 5 units of research and 1 unit of E199W.
2. Students wishing to satisfy their WIM requirement independently of their research work may enroll in CS 272, or take BIOE 131 to satisfy both WIM and TiS.

Capstone Class: The BMC Capstone class gives students the chance to take a rigorous course that thoroughly integrates various aspects of biology and computation. This course is typically taken during junior or senior year. Currently, this requirement is satisfied by one of the following courses: CS270, CS273A (if taken in the past), CS274, CS275, CS279, or CME 209.

Advising in BMC

There are two types of advisors for the major: an academic advisor and a research advisor. The academic advisor is the person who oversees your path through BMC. In is necessary to have found an academic advisor in order to declare the major. Because BMC is in the School of Engineering, the student’s academic advisor must have an appointment in the School of Engineering. The one major commitment that this advisor makes in BMC that is different from other majors is that, in the case that the BMC student has trouble finding a research mentor, the academic advisor agrees that the student can work in his or her lab to fulfill the BMC research requirement.

The other advisor is the research mentor. Because there is interesting biomedical computation work being done throughout Stanford, not just in the School of Engineering, we place no restrictions as to where within Stanford the faculty mentor conducts his or her research. It is not necessary to have a research advisor at the time of declaring; many of our students do not.
It is acceptable for the same faculty member to serve as both the academic and research advisor for a BMC student.

For additional information about the major, and for step-by-step instructions on how to declare, please visit the BMC website. If you have further questions, please contact the student services admin for the major, Eric Giudice at

Program Options

If I do BMC can I also…

Be Premed?
Yes. This requires taking about six additional chemistry, physics, and biology lab courses. While we can offer some advice here, it is important to talk to a premed advisor to cover which additional courses you need to take.

Study abroad?
Absolutely! Though the major requirements are many, it is quite possible to go abroad. The earlier you start planning, the easier this will be.

Do an Honor thesis?
Yes. You can review the steps to applying and declaring on the Honors in BMC website.

Add an additional major or minor in something else?
Yes. While the major is demanding, some students have managed to squeeze in other areas of study as well. Some students have asked about double-majoring or minoring in Computer Science or Biology. It does not make much sense to do so, since the BMC major has a large number of courses from these departments already. BMC majors can tailor their curriculum so that they are quite well trained in either of these disciplines.

Absolutely. Stanford offers students the opportunity to study an additional year or so and obtain a coterminal Master’s degree. Many of our students have gone on to coterm in various departments at Stanford. Please contact the department in which you wish to coterm in your junior year – requirements vary from department to department, and this will leave enough time to plan for the application process and the courses you might have to take before enrolling.

Instructions for Declaring BMC as a Major

  1. Declare in Axess
  2. Select "Engineering" as your Major
  3. Select "BMC" as your subplan
  4. Complete the Declaration webform, found at the How to Declare website
  5. Student Services will contact students and their major advisor via email within 7-10 business days after submission
  6. After receiving the advisor email, students should connect with their advisor to discuss the BMC program, review 4-year plans, and obtain their advisor’s electronic signature on the completed BMC Program Sheet
  7. Complete your program sheet and email to Dr. Altman for review and signature
  8. Submit your signed Program Sheet to BioE Student Services Officer, Eric Giudice (  The student services team will update Axess to reflect your completed major declaration, major advisor assignment, and add you to the BIOE/BMC undergraduate email listserv.