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”, ...
随机推荐
- WPF 进程间传递参数
WPF 进程间传递参数 在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start(“软件路径”)可以启动另一个软件.如果在这个过程中还需要传递一些参数给新启动 ...
- Go RabbitMQ (一)
RabbitMQ 简介 RabbitMQ是一个消息代理,用来负责接收和转发消息. 术语 生产者:生产者是负责发送消息的 队列:队列是RabbitMQ用来存储消息的,受主机内存和磁盘大小的限制,本质上是 ...
- SharePoint2013使用资源管理器打开失败
我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...
- Ruby中Time的常用函数
Time的常用函数 时间对象. Time.now返回当前时间. 1.Time.at Time.at(time[, usec]) 返回time所指时间的Time对象. time可以是Time对象,也 ...
- 不会几个框架,都不好意思说搞过前端: Node.js & angular.js
Node.js 菜鸟教程 :http://www.runoob.com/nodejs/nodejs-install-setup.html angular.js 菜鸟教程 :http://www.r ...
- [转]NEO与以太坊:为什么NEO可能是2018年最强的加密货币
本文转自:https://baijiahao.baidu.com/s?id=1591291802129464257&wfr=spider&for=pc NEO,它可以与以太坊竞争吗?N ...
- [转]使用BCP导出导入数据
本文转自:http://www.cnblogs.com/zerocc/p/3225723.html bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容 ...
- 域名(Domain Name)
是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域). 域名是一个IP地址 ...
- PHP中oop面向对象基础知识(一)
OOP 基础知识汇总(一) &g ...
- Struts2 学习笔记--Action Method--接收参数
struts2中的路径问题 注意:在jsp中”/”表示tomcat服务器的根目录,在struts.xml配置文件中”/”表示webapp的根路径,即MyEclipse web项目中的WebRoot路径 ...