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”, ...
随机推荐
- Nodejs学习笔记(九)—与Redis的交互(mranney/node_redis)入门
简介和安装 redis简介: 开源高性能key-value存储:采用内存中(in-memory)数据集的方式,也可以采用磁盘存储方式(前者性能高,但数据可能丢失,后者正好相反) 支持字符串(strin ...
- 笔记六:python字符串运算与函数
一:学习内容 字符串运算 字符串函数-strip() 字符串函数-大小写互换 字符串函数-字符串对齐 字符串函数-搜索 字符串函数-替换 字符串函数-split切割 字符串函数-连接join 字符串函 ...
- Automapper问题记录
在Automapper使用中会碰到一些未能映射或者错误的问题,这些问题可能会经常忘记如何处理,想到一些就记录一些: 映射值有时为空又不报错的情况 这很可能是由于目标类中的部分属性有问题导致的,最简单的 ...
- 使用vue2+Axios+Router 之后的总结以及遇到的一些坑
构建 vue有自己的脚手架构建工具vue-cli,使用起来非常方便,使用webpack来集成各种开发便捷工具,比如: 代码热更新,修改代码之后网页无刷新改变,对前端开发来说非常的方便 PostCss, ...
- 【转】Visio绘制WEB流程图的心得
一个哥们在MSN上告诉我,他们公司的交互设计师只产出流程图,并问我用什么标准评价流程图的好坏.他的说法把我彻底震了-这分工也太细了吧!也不知道该说他们那里这样是好还是不好. 不过仔细想来,我倒的确没有 ...
- SQL SERVER 原来还可以这样玩 FOR XML PATH
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- JavaScript 带参数函数定义
函数的参数parameters在函数中充当占位符(也叫形参)的作用,参数可以为一个或多个.调用一个函数时所传入的参数为实参,实参决定着形参真正的值. 这是带有两个参数的函数, param1 和 par ...
- dubbo基于tcp协议的RPC框架
什么是 RPC 框架 谁能用通俗的语言解释一下什么是 RPC 框架? - 远程过程调用协议RPC(Remote Procedure Call Protocol) 首先了解什么叫RPC,为什么要RPC, ...
- ORACLEserver实例DB的概念学习理解与总结【进阶一】
个人原创,转自请在文章开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10048824.html 一.以后看一个oracleserver,可以使用如 ...
- java 正则表达式(内附例子)
前言:最近工作中遇到了大量用正则表达式的情况,需要用一定的规则匹配字符串,然后提取里面的数据,格式化后转成自己想要的格式.所以作为一个菜鸟是时候再来巩固一下正则表达式了.转载请注明出处:https:/ ...