The Master of Science degree in Computer Scienc
Computer Science MS Degree
45.00 Hours Required

The Master of Science degree in Computer Science indicates two things to prospective employers. First, it guarantees that you have a broad grounding in computer science as a discipline. Second, it certifies that you have studied a particular area in detail and thus have additional depth in a particular specialty. Both components are important to the Master's program, and it is not possible to secure a Stanford MSCS degree that does not meet both requirements. The central requirement for the MSCS degree is completion of at least 45 units that represent an approved academic plan. The concrete representation of that academic plan is your program sheet, which lists the courses you intend to use to satisfy the 45-unit requirement.
Breadth Requirement
Students are asked to demonstrate breadth by taking courses in three general areas:
- Mathematical and Theoretical Foundations
- Computer Systems
- AI and Applications
Typically, each area is organized as a small set of required courses and a larger set from which you can choose particular courses that fit best with your overall program. To satisfy the breadth requirement, you must demonstrate that you have taken each of the required courses, along with an appropriate subset of the higher-level breadth courses that meet the requirements for each area. It is important to understand that only coursework can be used to satisfy the breadth requirement. Additionally, you may not count more than 21 units from the set of courses that comprise the program prerequisites (courses numbered between CS100 and CS109) and the courses listed under the breadth requirement category. If you need to take more courses in these categories, your program will have to include more than 45 total units. Sometime early in your first quarter - preferably in the first week or two - you should schedule a meeting with your academic advisor and go over your breadth requirements. Contact the department of Computer Science for detailed information on the Breadth Requirement by sending email to: admissions@cs.stanford.edu
Seminars
The MSCS program requires you to complete at least one 500-level CS seminar (or EE380 or EE385A) so that you have some exposure to the research activity of the department. Although they may take more, students may only count a maximum of three units of seminars (or other 1-2 unit courses) toward the MSCS degree.
Depth Requirement
In addition to the breadth requirement, the Stanford MSCS program requires that all students take at least 21 units in a specific area of specialization. Most students complete one of the ten department approved specializations, but may also petition the MSCS committee to approve a specialization of their own design. The ten approved specializations are:
- Artificial Intelligence
- Biocomputation
- Computer and Network Security
- Database Systems
- Human-Computer Interaction
- Numerical Analysis/Scientific Computation
- Real-World Computing
- Software Theory
- Systems
- Theoretical Computer Science
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. More detailed information about breadth requirements and specialization areas can be found at: CS degree planning tool. Questions about admission to the graduate program in Computer Science should be directed to: admissions@cs.stanford.edu
Electives
Elective courses are really up to the student to select, even though the entire program must be approved by their advisor. In general, courses in computer science numbered at the 100-level or above (with the exception of CS196, 197, and 198) are suitable as electives. Courses in related departments, such as Electrical Engineering, Mathematics, and Statistics, numbered at the 100-level or above and technical in nature are also likely to be approved. On the other hand, courses that are completely unrelated to computer science would not normally be appropriate as electives.
Additional Requirements
Minimum GPA requirement: In order to receive an MSCS degree, the student's GPA in the courses they submit on their program sheet must be at least 3.0, which corresponds to a B in Stanford's grading scale. Note that students need not get a B in every course. All the requirement states is that the overall GPA, which is simply the average of the numeric grade weighted by the number of units in each course, must be at least a 3.0. Note, however, that the GPA is computed only for the courses students submit on their program sheet. If a student does poorly in several courses, it may be wise for them to eliminate those courses from their program sheet and substitute other courses in which they have done better. Substitutions may require the student to take more than 45 units, but it is important to know that a single disastrous grade will not necessarily doom their entire program.
Letter-grade requirement: This requirement is mostly self-explanatory but nonetheless deserves emphasis. At least 36 of the required 45 units, including all of the depth units submitted for specialization, must be taken for a letter grade. Note that seminar courses, which must be taken on an S/NC basis, are not letter-graded courses. The remaining 9 units may be taken on a credit/no credit basis if the student so chooses.
Tuition
For course tuition and fees, please click Tuition & Fees.
Time Commitment
Most part-time students take an average of 3 to 5 years to complete the 45-unit requirement. You must complete a Master's degree within 5 years of starting the program.
Admissions
Detailed information about the graduate degree program and admission process can be found on the Computer Science Department web site: Computer Science Graduate Program. For assistance while in the application process, please contact the Computer Science Student Services Office using the following email address: admissions@cs.stanford.edu
Expected Background
The MSCS program assumes that all entering students have acquired the foundations of computer science at the level of an undergrad minor. At Stanford, these foundations are represented by the following courses, which are considered as the standard prerequisites for the program:
- CS103 (Logic, Automata and Complexity)
- CS109 or STAT116 or CME106 or MS&E220(Probability)
- CS161 (Algorithmic Analysis)
- CS107 (Computer Organization and Systems)
- CS110 (Principles of Computer Systems)
If you have taken these courses - either at Stanford or elsewhere - you have the necessary background to begin studying at the MSCS level.
Program Proposal
Students must file their initial program sheet before the end of your first registered quarter as a MSCS student. Filing the program sheet, however, does not lock you into taking exactly the set of courses you originally propose. If you need to change your plan of study, you must simply renegotiate the contract, which means filing a new program sheet that represents your updated course of study. You must get your advisor's signature on the revised plan but need not get new signatures for individual courses that were approved on a previously filed program. The important thing to remember is that, before you will be cleared for graduation, you must have a program sheet on file that matches the courses that you in fact completed. If you decide to change your course of study, you should get a new program sheet signed as soon as possible to ensure that the changes are in fact approved.
The Master of Science degree in Computer Scienc的更多相关文章
- Georgia Tech Online Master of Science in Computer Science 项目经验分享
Georgia Tech Online Master of Science in Computer Science 项目经验分享 Posted on 2014/04/22 项目关键词:工科名校,计算机 ...
- Will Georgia Tech's $7K online M.S. in computer science program make the grade?
https://newatlas.com/georgia-tech--graduate-computer-science-degree-mooc/28763/ Georgia Tech to offe ...
- Don't Dismiss Georgia Tech's $6,600 Online Master's Degree
https://www.pcmag.com/commentary/343924/dont-dismiss-georgia-techs-6-600-online-masters-degree Don't ...
- What every computer science major should know 每一个计算机科学专业的毕业生都应该都知道的
Given the expansive growth in the field, it's become challenging to discern what belongs in a modern ...
- (转)A Survival Guide to a PhD
Andrej Karpathy blog About Hacker's guide to Neural Networks A Survival Guide to a PhD Sep 7, 2016 T ...
- 微软职位内部推荐-SW Engineer II for Cloud Service
微软近期Open的职位: Positions: SDE for Big Data Cloud Services Azure Big Data Cloud Services and Cosmos are ...
- 微软职位内部推荐-SDEII_ ECO
微软近期Open的职位: SDE II SDE II Organization Summary: Engineering, Customer interactions & Online (EC ...
- 微软职位内部推荐-Software Development Engineer 2
微软近期Open的职位: SDE II Organization Summary: Engineering, Customer interactions & Online (ECO) is l ...
- (转) A Survival Guide to a PhD
A Survival Guide to a PhD Sep 7, 2016 This guide is patterned after my “Doing well in your courses”, ...
随机推荐
- Java多态的一些陷阱
Java多态是如何实现的? Java的多态和C++一样,是通过延时绑定(late binding)或者说运行时绑定(runtime binding)来实现的.当调用某一个对象引用的方法时,因为编译器并 ...
- 《JavaScript权威指南(第6版)(中文版)》PDF
简介自1996年以来,JavaScript的:权威指南已为JavaScript圣经程序员,程序员指南和全面的参考,以核心语言和客户端JavaScript API的Web浏览器定义.第6版包括HTML5 ...
- C# 获取config文件 实体转换
随着项目的扩展,单独的key,value配置文件已经不能满足需求了 这里需要自定义配置节点,例如 <!--自定义 具体实体类配置问节点信息--> <School Name=" ...
- wpf中应该使用c#四种定时器中的DispatcherTimer
c#中有四种定时器 1:System.Threading.Timer 使用: private System.Threading.Timer timerClose; timerClose = new S ...
- 我所了解的Hibernate注解
一,首先需要导入支持注解开发的jar包: hibernate-annotations.jar hibernate-commons-annotations.jar (Hibernate中支持注解开发的j ...
- Django(三):HttpRequest和HttpResponse
当一个请求连接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的视图函数.每个请求的视图函数都会返回一个HttpResponse. H ...
- vue 实现父组件和子组件之间的数据双向绑定
前言:vue 实现父组件给子组件传值,然后子组件可以修改回父组件的值.vue 的 prop 默认是单向数据绑定,但是偶尔需要双向绑定,这时就需要知道如何才能让子组件的数据修改时影响到父组件的数据.转载 ...
- Rafy中的IOC
Rafy是什么可以通过下面博客来了解 Rafy 领域实体框架演示(3) - 快速使用 C/S 架构部署 - BloodyAngel - 博客园 以下是看源码中的一点记录,供以后学习使用 主要是Rafy ...
- charles 抓包 https 证书
1. 概述 环境:这里是windows8 和 android (参考了ios环境的博客) 手机app点击发出http及https的请求,之前抓包都有请求的相关内容展示,这次没有,原来之前的一直抓的是h ...
- 【PyQt5 学习记录】006:重写窗口事件及QMessageBox
#!/usr/bin/env python import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QMessageBox ...