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.

Professional Development Series
Complete three one-credit Professional Development courses. 13
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 Models of Human and Machine Learning
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. 318
Total Credit Hours30

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.