MS | Breadth Requirements
Overview
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: Program sheets are the result of considerable deliberation and judgement by faculty in the specialization area about what it means to have a Stanford CS MS degree in that area. Exceptions are an attempt to circumvent this judgement, and are therefore rare. The good news is that the program already has a lot of flexibility, and getting creative within the limits, or taking a little longer to graduate, can usually satisfy your personal goals. We frequently review courses for consideration. To request that a new course be considered, please fill out the MSCS Petitions Form and include your request and justification. The MSCS team will reach out once your submission has been reviewed.