Skip to main content Skip to secondary navigation

Email forwarding for is changing. Updates and details here.


MS | Breadth Requirements

Main content start


The Master of Science degree in Computer Science indicates to prospective employers that you have a broad grounding in computer science as a discipline. There are four Breadth areas: Formal Foundations; Learning and Modeling; Systems; and People and Society. To satisfy the Breadth requirement, students must complete three courses representing three of these four areas of CS. These three courses can also satisfy other requirements (i.e. Significant Implementation, Depth, and Elective). The Breadth requirements must be satisfied by coursework at Stanford and cannot be waived by coursework elsewhere. Breadth courses must be taken for at least 3 units each. The Breadth courses must be taken for a letter grade. 

Breadth Areas:

  • Formal Foundations. Courses in this group emphasize mathematics and formal reasoning as they apply to foundational questions about computation.
  • Learning and Modeling. Courses in this group seek to build models of observed phenomena. They emphasize building these models from data, with the goal of predicting, classifying or otherwise structuring observations.
  • Systems. Courses in this group explore the construction of computing artifacts that meet design constraints or requirements. They emphasize not only what we build, but how we build it and the challenges in doing so. Problems in this area often, but not always, include performance (speed, memory, energy), scalability, tradeoffs, complex software, and considering the quality of the artifact itself in addition to its capabilities.
  • People and Society. Courses in this group examine how computing and technology affect and interact with humans and societies, seeking to place artifacts in the context in which they are used.

Approved Breadth Courses: You can find the current list of breadth courses on the MS program sheets or in the Stanford Bulletin in the Breadth in Discipline section.

Coterm students must have all Breadth courses on their graduate transcript. If you took one of these courses and are not using it for your undergraduate degree requirements, you can move the course to your graduate transcript by submitting the Coterm Course Transfer eForm on Axess. This will allow you to use the course to help satisfy the requirement. You can transfer any course that you took during your sophomore year or later.

Exceptions: The list of Breadth courses is considered to be strict. Exceptions are rarely granted, and only in cases in which a new course is offered that hasn't yet been added to the list. To request an exception, send an email to Cynthia Bailey Lee (, the Faculty Director of the MS CS Program. Your email should include your request and justification.