The Master of Science degree in computer science is a research-based option which permits graduate students the flexibility in defining specialized interdisciplinary fields that meet their professional needs. The research-based MS degree option is well-suited to students pursuing a career in academia or industry with a research component.
Students have two options under this degree:
- The thesis option, wherein students will have to complete six credits of MS thesis hours while working on a research problem and completing their thesis work. They work with a committee of three and have to defend their thesis.
- The non-thesis option, wherein students will have to complete six credits of MS independent study research hours, while working on research projects with individual faculty. These six hours may or may not be with the same faculty.
With support from the research advisor, students in this program have the option of smoothly transitioning in the PhD program. If students receive support from a research advisor, they do not have to apply to the PhD program; the department processes the degree advancement based on the support.
Bachelor's–Accelerated Master's Degree Program
Students may earn this degree as part of the Bachelor's–Accelerated Master's (BAM) degree program, which allows currently enrolled CU Boulder undergraduate students the opportunity to earn a bachelor's and master's degree in a shorter period of time.
For more information, see the Accelerated Master's tab for the associated bachelor's degree(s):
Requirements
Admission Requirements
Applicants for graduate study in computer science must hold at least a bachelor's degree or its equivalent from an accredited institution. They should have programming experience, a number of computer science courses and sufficient mathematical maturity to understand pure mathematics courses at the upper division (junior/senior) level.
A minimum undergraduate GPA of 3.00 is required for admission to the master's program.
Mathematics Courses
A student's academic background should include at least three semesters of mathematics at the level of sophistication of calculus or above. Examples of such courses include calculus, differential equations, linear algebra, probability, statistics and abstract algebra. The courses should indicate that the student has achieved the mathematical maturity expected of an upper-level science, engineering or mathematics undergraduate.
Computer Science Courses
At least three one-semester courses in computer science that are beyond the introductory level are required for admissions. These are intended to demonstrate breadth of basic computer science knowledge in the areas of computer hardware, software and theory. The courses should include the equivalent of the following CU Boulder offerings:
- Hardware requirement: CSCI 2400 Computer Systems (Computer Systems)
- Software requirement: Either CSCI 3155 Principles of Programming Languages or CSCI 3753 Design and Analysis of Operating Systems
- Theory requirement: CSCI 2270 Computer Science 2: Data Structures and either CSCI 3104 Algorithms or CSCI 3434 Theory of Computation
More advanced versions of all courses are acceptable. The above courses are prerequisites to many of the graduate-level offerings, so it’s important to complete these to be considered for graduate admissions. Admission without these prerequisites or their equivalents may be considered under extraordinary circumstances only.
Program Requirements
Degree Plans
While pursing the traditional MS degree in CS, students have to complete a total of 30 credits of graduate level coursework and may select between two options.
Plan I: Thesis Option
The MS thesis option curriculum is designed to provide a balance between modern technological focus and disciplinary depth. Students must secure a thesis advisor for research and course guidance.
Under this option, students complete 24 credits of coursework and 6 thesis credits at the 5000-level or above. At least 24 credits (eight courses) must be completed in computer science, including three required breadth courses. Up to 6 credits (two courses) may be taken outside of the department with the approval of the Graduate Committee.
In addition to this, students must fulfill any other MS degree requirements as stated by the department. For more information, visit the Traditional MS Degree Program Requirements webpage.
Plan II: Non-Thesis Option
Under this option, students complete 24 credits of coursework at the 5000-level or above. At least 24 credits (eight courses) must be completed in computer science, including three required breadth courses. Up to 6 credits must be independent study research hours. Up to 6 credits (two courses) may be taken outside of the department with the approval of the Graduate Committee.
In addition to this, students must fulfill any other MS degree requirements as stated by the department. For more information, visit the Traditional MS Degree Program Requirements webpage.
Course Requirements
The following course requirements are subject to change; for the most current information, visit the department's Traditional MS Degree Program Requirements webpage.
Code | Title | Credit Hours |
---|---|---|
Professional Development Series | ||
Complete three one-credit Professional Development courses. 1 | 3 | |
Introduction to the Computer Science Research-Based MS Program | ||
Computer Science Colloquium | ||
Data Science Team Companion Course | ||
Breadth Courses 2 | ||
Students must complete one breadth course from each of the three bins listed below. | ||
Bin One | ||
Choose one: | 3 | |
Computer Graphics | ||
Convex Optimization and Its Applications | ||
Probability for Computer Science | ||
Introduction to Theory of Computation | ||
Chaotic Dynamics | ||
Design and Analysis of Algorithms | ||
High-Performance Scientific Computing | ||
Principles of Numerical Computation | ||
Numerical Solution of Partial Differential Equations | ||
Numerical Linear Algebra | ||
Linear Programming | ||
Numerical Optimization | ||
Bin Two | ||
Choose one: | 3 | |
Advanced Robotics | ||
Algorithmic Human-Robot Interaction | ||
Network Analysis and Modeling | ||
Research Methods in Human-Robot Interaction | ||
Data Mining | ||
Introduction to Virtual Reality | ||
Machine Learning | ||
Computer Vision | ||
Probabilistic and Causal Modeling in Computer Science | ||
Natural Language Processing | ||
User-Centered Design and Development 1 | ||
Input, Interaction, and Accessibility | ||
Bin Three: | ||
Choose one: | 3 | |
Computer-Aided Verification | ||
Datacenter Scale Computing - Methods, Systems and Techniques | ||
Network Systems | ||
Cybersecurity | ||
Computer Security and Ethical Hacking | ||
Object-Oriented Analysis and Design | ||
Compiler Construction | ||
Fundamental Concepts of Programming Languages | ||
Advanced Operating Systems | ||
Distributed Systems | ||
Computer Performance Modeling | ||
Theoretical Foundations of Autonomous Systems | ||
Electives | ||
An additional 18 credits of approved graduate-level coursework are required to complete the degree, with restrictions. 3 | 18 | |
Total Credit Hours | 30 |
1 | The third one-credit course may be a repeat of CSCI 5100 or CSCI 5802, or any other one-credit approved graduate level coursework that is not an independent study research hour. |
2 | For a list of breadth courses by category, visit the department's MS/ME Breadth Requirement webpage. |
3 | Out of these credits, only 6 credits may be non-CS graduate courses. |
Time Limit
All degree requirements must be completed within four years of the date of commencing coursework. Most students typically complete the degree requirements in two years.