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 credit hours 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.
    • MS Thesis (6 credit hours)
  • The non-thesis option, wherein students will have multiple options to complete six credit hours of research coursework. These hours can consist of MS independent study research hours while working on research projects with individual faculty, and/or completing Topics in CS Research. These six hours may or may not be with the same faculty.
    • Independent Study (6 credit hours); or
    • Topics in CS Research (6 credit hours); or
    • Independent Study (3 credit hours) and Topics in CS Research (3 credit hours)

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 (on a scale of 4.00) is required for admission to the graduate 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 four 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
  • 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 is important to complete these to be considered for graduate admissions.

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 the following 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 credit hours of coursework and 6 thesis credit hours at the 5000-level or above. At least 24 credit hours (eight courses) must be completed in computer science, including three required breadth courses and the professional development requirement. Up to 6 credit hours (two courses) may be taken outside of the department as long as those are at the 5000-level and above and offered at CU Boulder main campus.

In addition to the above, 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 credit hours of coursework at the 5000-level or above. At least 24 credit hours (eight courses) must be completed in computer science, including three required breadth courses and the professional development requirement. Up to 6 credit hours (two courses) may be taken outside of the department as long as those are at the 5000-level and above and offered at CU Boulder main campus. The remaining 6 research credit hours must consist of one of the following:

  • Exactly 6 credit hours of CSCI 5900 Master's Level Independent Study; or
  • Exactly 6 credit hours of CSCI 7100 Topics in Computer Science Research; or
  • Exactly 3 credit hours of CSCI 5900 Master's Level Independent Study and exactly 3 credit hours of CSCI 7100 Topics in Computer Science Research

In addition to the above, 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 Requirement
Complete three one-credit Professional Development courses. 13
Introduction to the Computer Science Research-Based MS Program
Computer Science Colloquium
Computer Science Colloquium
Breadth Requirement
Students must complete one breadth course from each of the three bins listed below, for a total of 9 credit hours of breadth courses. Students must earn a grade of B or better in each of the three breadth courses. 2
Bin One
Choose one:3
Computer Graphics
Quantum Computation and Information
Convex Optimization and Its Applications
Probability for Computer Science
Introduction to Theory of Computation
Nonlinear Dynamics and Chaos
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
Introduction to Robotics
Advanced Robotics
Algorithmic Human-Robot Interaction
Network Analysis and Modeling
Research Methods in Human-Robot Interaction
Data Mining
Introduction to Mixed 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
Fundamentals of Neural Networks and Deep Learning
Bin Three:
Choose one:3
Computer-Aided Verification
Big Data Architecture
Datacenter Scale Computing - Methods, Systems and Techniques
Network Systems
Introduction to Computing Security
Computer Security and Ethical Hacking
Object-Oriented Analysis and Design
Modern Offense and Defense in Cybersecurity
Compiler Construction
Fundamental Concepts of Programming Languages
Advanced Operating Systems
Distributed Systems
Database Systems
Foundations of Software Engineering
Theoretical Foundations of Autonomous Systems
Research Requirement
Complete one of the following options for six credit hours:6
Option 1 - Thesis (6 credit hours)
Master's Thesis
Option 2 - Independent Study (6 credit hours)
Master's Level Independent Study
Option 3 - Topics in CS Research (6 credit hours)
Topics in Computer Science Research
Option 4 - Independent Study (3 credit hours) and Topics in CS Research (3 credit hours)
Master's Level Independent Study
Topics in Computer Science Research
Electives Requirement
An additional 12 credit hours of approved graduate-level coursework are required to complete the degree, with restrictions. 3, 412
Total Credit Hours30

Time Limit

All degree requirements must be completed within four years of the date of commencing coursework. 

Learning Outcomes  

By the completion of the program, students will be able to:

  • Be knowledgeable in a subfield of computer science and make a research contribution to the subfield.
  • Solve technical problems in computer science through writing code, pseudocode, technical writing and/or applying foundational concepts from a variety of subfields.
  • Cast large, societal and/or complex problems as computational problems.
  • Communicate clearly about their ideas and their research.

Evaluation Methods

  1. Complete the required breadth courses with a B or better grade.
  2. Complete the required coursework with a minimum GPA of 3.0.
  3. Successful defense of research thesis or conduct an independent study research work or research project under the supervision of a faculty member.