The Professional Master of Science in Computer Science (MSCPS) is a degree program that offers possibilities for a wide range of students. Whether the student is a working engineer or an undergraduate considering a career in industry, there are program options to meet their needs.

The department offers nine degree tracks, each of which result in a Professional Master of Science in Computer Science: 

The Department of Computer Science has embraced this degree as an ideal opportunity to expand the high quality courses in the fields above into a wide array of courses leading to a full master's degree. The goal of the MSCPS program is to produce creative, workforce-ready graduates equipped with versatile specialized skills and technical leadership.

Adding several new subplan courses to the program now enables greater options for earning professional MS degree with these subplans, while also offering plenty of courses to complete a full master's degree, principally with a subplan focus. Students pursuing this degree will also have access to many excellent graduate-level courses offered by the department's highly reputed faculty.

Subplans

General Track

Students opting for this track have the option to select classes from an approved list for the degree. The jobs these students get are also similar to other subplans. However, specializing in a subplan is more beneficial. 

Algorithms, Network and Optimization

The subplan enables students to employ powerful mathematical tools and techniques from algorithms, graph theory, computational complexity theory and mathematical optimization to solve problems that may arise in research and development of cutting edge computing systems. Skills include: design and analysis of algorithms, understanding inherent problem complexity and deploying optimization-based tools and techniques. We expect graduates to fill software development roles with an emphasis on algorithms design, data analysis and solution design.

Potential job titles include: graph theorist, optimization analyst, software developer on algorithms design and data analysts on algorithms design. Potential employers include Twitter, Google, Facebook, Amazon, Oracle, Uber, Microsoft and Apple.

Data Science and Engineering

This subplan provides the skills to develop computer solutions that require expertise in data science and engineering. Students who complete the program receive both a master's degree in computer science and a specialization within data science and engineering. This combination is very attractive as technology companies are looking for developers that have experience in data science. Students complete both a set of core courses for the degree in addition to a set of data science courses. 

Potential job titles include: Hadoop developer, BI developer, quantitative data engineer, search engineer, technical architect, big data analyst, solutions architect, data warehouse engineer, data science software engineer and ETL developer. Potential employers include X, Google, Meta, Amazon, Oracle, Uber, Microsoft and Apple.

Human-Centered Computing

In this track, students learn how to design, implement and evaluate user interfaces for a range of computing technology, and gain skills related to designing technologies to support the needs of real people. Topics covered include user-centered design, information visualization, universally accessible design and computer-supported cooperative work. Students will gain experience with the entire user-centered design process, from requirements gathering, prototyping, and qualitative and quantitative user evaluation. Many courses in this concentration are project-based and will involve user-centered research in the lab and in the field.

Potential job titles for graduates of this program include user experience researcher, user interface engineer, data scientist, interaction designer, front-end developer, accessibility specialist, mobile application developer. Potential employers include Meta, Google, Microsoft, X, Adobe, Autodesk, Sphero, Snap and Oculus.

Artificial Intelligence and Robotics 

The subplans in Artificial Intelligence and Robotics build expertise in algorithms and methods for developing autonomous systems, including robotics and cyber-physical systems. As part of this program, students will design and analyze systems which leverage computation to interact with the world around them through sensors and actuators. Machine learning, signal processing and control theory are all components to this program, where students become experts in creating the software for devices ranging from climate control systems to automobiles.

Potential job titles for graduates of this program focusing on artificial intelligence include: software engineer, perception engineer, data scientist and research engineer. Potential employers include Lockheed-Martin, Amazon, Microsoft, Google and Meta.

Potential job titles for graduates of this program focusing on robotics include: robotics engineer, perception engineer, control engineer and robotics scientist. Potential employers include: Amazon Robotics, Uber, Google, iRobot and DJI.

Numerical Computation

Ongoing improvements in computational capability and memory performance have increased the importance of high-fidelity simulations, optimization and data-driven science and engineering applications. Students in this subplan develop the skills to design robust and high-performance numerical methods for addressing real-world problems and develop production-grade implementations using state of the art software tools to target modern architectures and large-scale parallel computers.

Potential job titles: Computational scientist/engineer, numerical/data analyst, research scientist, software engineer, HPC developer and quantitative software engineer. Potential employers include national labs, universities, engineering ISVs (ANSYS, MSC, CD-adapco), aerospace (NASA, Boeing, ULA, SpaceX, Lockheed), exploration (Shell, Schlumberger, CMG), manufacturing (P&G, GE), technology (Amazon, Google, IBM, Motorola) and finance (HFT, mutual funds, credit card).

Security

This subplan provides students with opportunities to explore cybersecurity and related challenges in the protection of critical systems and information from digital attacks. Security challenges impact many aspects of computer architecture, networks, applications, data, devices, and other sensitive infrastructure and information assets. Students will gain a broad spectrum of practical knowledge and experience, an understanding of theoretical underpinnings, and awareness of policy/standards that are related to computer and network security.

Potential job titles include—but are not limited to—security engineer, information security analyst, penetration tester, network security engineer, and data recovery professional. Companies that typically hire security-related positions range throughout industry, software, and government agencies including Meta, Google, Amazon, Splunk, Accenture, NSA, Salesforce, Mastercard, and many others.

Software Systems and Cloud Computing

In this subplan, students learn about software systems and how they are applied to real world problems. They'll also discover how emerging cloud computing technologies can be used to implement some of the world’s most popular services and applications.

For more information, visit the department's Professional MS Degree Program Requirements webpage.

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):

Online Option

Students can alternatively pursue the MSCS program online through Coursera. For more information, connect with the MSCS Online program. Credits do not transfer between the online and residential degree options. 

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.0 (on a scale of 4.0) 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 (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 Plan

As a course-based professional MS program, this program is a considered a Plan II: Non-Thesis degree plan. 

General Track Option (No Subplan)

All MSCPS students must complete a total of 30 credit hours of approved graduate level course work with a grade of C or better and a cumulative GPA of at least 3.00. Students are allowed to take two non-CS courses as long as these are at the 5000-level and above and are offered at CU Boulder main campus. Students are not allowed to take research hours or thesis hours.

Subplan Option

All MSCPS students must complete a total of 30 credit hours of approved graduate level course work with a grade of C or better and a cumulative GPA of at least 3.00. Students are allowed to take two non-CS courses as long as these are at the 5000-level and above and are offered at CU Boulder main campus. Students are not allowed to take research hours or thesis hours.

Additionally, students with an officially declared subplan must earn a grade of B or better in all subplan courses. Students can satisfy subplan requirements by counting eligible BIN and/or elective courses towards their subplan requirements. Students can have only one subplan declared, even if they meet the requirements for multiple subplans.

Course Requirements

The following requirements are subject to change; for the most current information, visit the department's Professional MS Degree Program Requirements webpage.

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. 1
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
Project Requirement
Complete six credit hours of projects classes from either of the following two options. All students must earn a B or better (not B-) in these courses. 26
Professional Masters Project 1
and Professional Masters Project 2
Startup Essentials: Entrepreneurial Projects in Computing
and Entrepreneurial Projects II
Electives Requirement
An additional 15 credit hours are required to complete the degree, with restrictions. 3, 415
Total Credit Hours30

Subplan Requirements

In addition to the above mentioned required courses, students enrolled in any one of the following subplans must also complete the required subplan course requirements as listed below. Students must earn a grade of B or better in all subplan courses. Students can satisfy subplan requirements by counting eligible BIN and/or Elective courses towards their subplan requirements.

Artificial Intelligence (AIG) Subplan
Artificial Intelligence (AIG) Subplan Courses
Choose four:12
Introduction to Robotics
Big Data Architecture
Convex Optimization and Its Applications
Advanced Robotics
Algorithmic Human-Robot Interaction
Network Analysis and Modeling
Probability for Computer Science
Data Mining
Machine Learning
Distributed Systems
Computer Vision
Probabilistic and Causal Modeling in Computer Science
Natural Language Processing
Fundamentals of Neural Networks and Deep Learning
Deep Reinforcement Learning
AI Engineering: Building, Scaling, and Deploying Large-Scale Models
Current Topics in Computer Science (Robot Perception)
Current Topics in Computer Science (Physical Human Robot Interaction)
Statistics, Optimization and Machine Learning Seminar
Algorithms, Network and Optimization (ANO) Subplan
Algorithms, Network and Optimization (ANO) Subplan Courses
Choose four:12
Practical Algorithmic Complexity
Convex Optimization and Its Applications
Network Analysis and Modeling
Probability for Computer Science
Introduction to Theory of Computation
Design and Analysis of Algorithms
Linear Programming
Numerical Optimization
Computational Complexity Theory
Randomized Algorithms
Algorithmic Economics
Data Science and Engineering (DSE) Subplan
Data Science & Engineering (DSE) Subplan Courses
Choose four:12
Big Data Architecture
Datacenter Scale Computing - Methods, Systems and Techniques
Convex Optimization and Its Applications
Network Analysis and Modeling
Probability for Computer Science
Data Mining
High-Performance Scientific Computing
Machine Learning
Linear Programming
Numerical Optimization
Computer Vision
Natural Language Processing
Fundamentals of Neural Networks and Deep Learning
Big Data Analytics: Systems, Algorithms, and Applications
Human-Centered Computing (HCC) Subplan
Human-Centered Computing (HCC) Subplan Courses
Choose four:12
Computer Graphics
Advanced Computer Graphics
Algorithmic Human-Robot Interaction
Research Methods in Human-Robot Interaction
Introduction to Mixed Reality
Computer Animation
User-Centered Design and Development 1
Input, Interaction, and Accessibility
HCC Survey and Synthesis: Foundations and Trajectories
HCC Survey and Synthesis: New Disciplinary Directions
Issues and Methods in Cognitive Science
Current Topics in Computer Science (Information Visualization)
Current Topics in Computer Science (Physical & Tangible Computing)
Current Topics in Computer Science (Inclusive Design and Assistive Technology)
INFO 5501
Online Communities
Information Ethics and Policy
Information Visualization
Ethnographic Research in Applied Settings
User-Centered Design
Ubiquitous Computing Experience Design
Numerical Computation (NUM) Subplan
Numerical Computation (NUM) Subplan Courses
Choose four:12
Computer Graphics
Advanced Computer Graphics
Quantum Computation and Information
Nonlinear Dynamics and Chaos
High-Performance Scientific Computing
Principles of Numerical Computation
Numerical Solution of Partial Differential Equations
Numerical Linear Algebra
Linear Programming
Numerical Optimization
Robotics (RBT) Subplan
Robotics (RBT) Subplan Courses
Choose four:12
Introduction to Robotics
Convex Optimization and Its Applications
Advanced Robotics
Algorithmic Human-Robot Interaction
Probability for Computer Science
Machine Learning
Computer Vision
Theoretical Foundations of Autonomous Systems
Fundamentals of Neural Networks and Deep Learning
Deep Reinforcement Learning
Current Topics in Computer Science (Robot Perception)
Current Topics in Computer Science (Physical Human Robot Interaction and Control)
Math Methods in Dynamics
Optimal Trajectories
Uncertainty Quantification
Special Topics (Algorithms for Aerospace Autonomy)
Security (SEC) Subplan
Security (SEC) Subplan Courses
Choose four:12
Linux System Administration
Network Systems
Introduction to Computing Security
Computer Security and Ethical Hacking
Modern Offense and Defense in Cybersecurity
Current Topics in Computer Science (Malware Reverse Engineering)
Special Topics (Embedded Cybersecurity)
Fundamentals of Computer Security
Secure Computer Architecture
Software Systems and Cloud Computing (SSC) Subplan
Software Systems & Cloud Computing (SSC) Subplan Courses
Choose four:12
Computer-Aided Verification
Datacenter Scale Computing - Methods, Systems and Techniques
Network Systems
Computer Security and Ethical Hacking
Object-Oriented Analysis and Design
Data Mining
Compiler Construction
Fundamental Concepts of Programming Languages
Advanced Operating Systems
Distributed Systems
Database Systems
Foundations of Software Engineering

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:

  • 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 capstone project.

Evaluation Methods

  1. Complete the REQUIRED breadth courses with a B or better grade.
  2. Complete the required course work with a minimum GPA of 3.0.
  3. Complete the REQUIRED capstone project as part of the required project classes with a B or better grade for a total SIX graduate level credits.

Dual Degree

MSCPS/EMEN in Computer Science and Engineering Management

Computer Science and Engineering Management have teamed up to offer an exciting dual degree for MSCPS students. Students complete a total of 45 credits of graduate-level coursework. Of those, 24 credit hours are in Computer Science (CSCI) courses and 21 credit hours are in Engineering Management (EMEN) courses. All degree requirements must be completed within six years of the date of commencing coursework.

Students filling out the candidacy application for CS-MSCPS/EMEN dual degree during the semester they graduate, will have to include the 24 credit hours of CSCI coursework plus six credit hours of approved EMEN courses to come up with the required 30 credit hours of the CS-MSCPS degree within the dual degree.