Skip to main content Skip to secondary navigation

Email forwarding for is changing. Updates and details here.


MS | Depth Requirements

Main content start


The Master of Science degree in Computer Science indicates to prospective employers that you have studied a particular area in detail and thus have depth in a particular specialty. To satisfy the Depth requirement, students must complete 21 units of coursework in your chosen specialization area, satisfying the specific requirements of that specialization.

In most cases, a specialization consists of a set of required courses, a larger set of courses out of which you must select some subset, and a larger set from which you select additional courses to fill out the 21 unit requirement. For any pre-approved specialization, you should simply select the courses on the program sheet that you have or plan to take. All Depth courses must be taken for a letter grade, and each course must carry 3 or more units. No more than 6 units of CS399 Independent Study can be included in the Depth area.

Most students complete one of the nine approved specializations, however, it is possible to request approval for a specialization of your own design. In order to be approved, a Individually Designed specialization must represent a coherent area of study and must include courses at both the 200 and 300 level. For approval, send a proposed program sheet, along with a written description of the new specialization, to your advisor and also to Cynthia Bailey Lee (, the Faculty Director of the MS CS program.

Approved Specializations 

  • Artificial Intelligence
  • Computational Biology
  • Computer and Network Security
  • Human-Computer Interaction
  • Information Management and Analytics
  • Software Theory
  • Systems
  • Theoretical Computer Science
  • Visual Computing

Approved Depth Courses: You can find the current list of Depth courses for each specialization on the MS program sheets or in the Stanford Bulletin in the appropriate Subplot section.

Coterm students: If you took any of these depth courses and are using the course for your undergraduate degree requirements, you have satisfied the corresponding MS CS requirement, but you can apply 0 units from the course towards your MS CS program sheet. On the online program sheet, check off the course to indicate that you took the course. In the Course List, overwrite the number of units to 0. This indicates that you have satisfied the Depth requirement, but 0 units apply towards your MS program sheet. You must still take 21 units of Depth coursework that appear on your graduate transcript.

If you took any of these depth 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 units on your MS CS program sheet. You can transfer any course that you took during your sophomore year or later.

Deviations: Specializations do allow some flexibility. If you have a particularly strong background, for example, you may already have taken some of the courses required for your area of specialization. You may also find that you are unable to complete the precise set of requirements because of course-scheduling conflicts or because certain courses are not offered in every year. Thus, it sometimes happens that the specialization you propose differs in some respect from the stated requirements. To allow for the necessary flexibility, your advisor has some authority to approve exceptions to the requirements listed on the program sheet. It is always appropriate, for example, for the advisor to approve more advanced work in lieu of specific requirements that you have already taken elsewhere.

Beyond standard substitutions such as this, advisors have the authority to approve a single course change in the stated Depth requirements as long as they believe that the change makes good academic sense and does not weaken the overall program. To request a deviation, submit a program sheet and leave a note in the Student Note box that describes the deviation. When you submit your program sheet online it will automatically route to your advisor for their approval.

If your Depth coursework differs from the stated requirements in two or more courses, you will need to propose a new specialization by sending a request to your advisor and to Cynthia Bailey Lee (, the Faculty Director of the MS CS program. The Department is generally not willing to support major changes in the Depth requirements unless there are compelling reasons to do so.