The Professional Master of 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 seven degree tracks, each of which result in a Professional Master of Science in Computer Science: 

  1. General
  2. Algorithms, Network and Optimization
  3. Data Science and Engineering
  4. Human-Centered Computing
  5. Intelligent Systems
  6. Numerical Computation
  7. Robotics 
  8. Software Systems and Cloud Computing

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 a 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 Twitter, Google, Facebook, 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 Facebook, Google, Microsoft, Twitter, Adobe, Autodesk, Sphero, Snap and Oculus.

Intelligent Systems and Robotics 

The subplans in intelligent systems 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 intelligent systems include: software engineer, perception engineer, data scientist and research engineer. Potential employers include Lockheed-Martin, Amazon, Microsoft, Google and Facebook.

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

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

Distance Education Option

Students can take individual courses toward a master's degree or graduate certificate through distance education (online). For more information, connect with the individual graduate program directly.

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 master's program. 

Applicants are not required to submit GRE scores.

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

Required Courses and Credits

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

Degree Requirements

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 and the rest must be CSCI courses. Students under this option are not allowed to take research hours or thesis option.

Breadth Courses
Students must complete one breadth course from each of the three bins listed below, for a total of 9 credits of breadth courses. Students must earn a grade of B or better in each of the three breadth courses.
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
Neural Networks and Deep Learning
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
Project Courses
Complete six credits of projects class from either of the following two options:6
Startup Essentials: Entrepreneurial Projects in Computing
and Entrepreneurial Projects II
Professional Masters Project 1
and Professional Masters Project 2
Additional Coursework
An additional 15 credits are required to complete the degree, with restrictions. 115
Total Credit Hours30

Time Limit

All degree requirements must be completed within four years of the date of commencing coursework. Most students complete the degree in two years.

Subplan Tracks

In addition to the above mentioned required courses, students enrolled in any the following subplans must also complete the required subplan courses as listed below.

Students must earn a grade of B or better all subplan courses. Students may count the same course towards their subplan and breadth requirements. 

Data Science and Engineering (DSE)
Core Courses
Choose four:
Datacenter Scale Computing - Methods, Systems and Techniques
Data Mining
Machine Learning
Linear Programming
Big Data Architecture
Convex Optimization and Its Applications
Network Analysis and Modeling
High-Performance Scientific Computing
Numerical Optimization
Computer Vision
Natural Language Processing
Neural Networks and Deep Learning
Big Data Analytics: Systems, Algorithms, and Applications
Human-Centered Computing (HCC)
Core Courses
Choose five:
Computer Graphics
Advanced Computer Graphics
Research Methods in Human-Robot Interaction
Introduction to Virtual Reality
Computer Animation
Open Collaboration
Ethical and Policy Dimensions of Information and Technology
Information Visualization
Survey Research Design
Ubiquitous Computing Experience Design
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
Topics in Cognitive Science
Intelligent Systems (IST)
Core Courses
Choose four:12
Convex Optimization and Its Applications
Advanced Robotics
Network Analysis and Modeling
Data and Network Science
Statistics, Optimization and Machine Learning Seminar
Data Mining
Machine Learning
Distributed Systems
Computer Vision
Probabilistic Models of Human and Machine Learning
Natural Language Processing
Neural Networks and Deep Learning
Numerical Computation (NUM)
Core Courses
Choose four:
Computer Graphics
Advanced Computer Graphics
Chaotic Dynamics
High-Performance Scientific Computing
Numerical Optimization
Principles of Numerical Computation
Numerical Solution of Partial Differential Equations
Numerical Linear Algebra
Robotics (RBT)
Core Courses
Choose four:
Convex Optimization and Its Applications
Advanced Robotics
Machine Learning
Computer Vision
Neural Networks and Deep Learning
Math Methods in Dynamics
Optimal Trajectories
Uncertainty Quantification
ECEN 5358
Software Systems and Cloud Computing (SSC)
Core Courses
Choose four:
Computer-Aided Verification
Datacenter Scale Computing - Methods, Systems and Techniques
Network Systems
Object-Oriented Analysis and Design
Data Mining
Compiler Construction
Fundamental Concepts of Programming Languages
Advanced Operating Systems
Distributed Systems
Computer Performance Modeling
Database Systems
Foundations of Software Engineering
Security (SEC)
Core Courses
Choose four:
Cybersecurity
Computer Security and Ethical Hacking
Linux System Administration
ECEN 5113
Secure Computer Architecture
Security Auditing and Penetration Testing
Cybersecurity Network Analytics
Digital Forensics
Special Topics (Embedded Cybersecurity; Software Reverse Engineering)
  

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. Student complete a total of 45 credits of graduate-level coursework. Of those, 24 credits are in CS courses and 21 credits are in EMEN courses. All degree requirements must be completed within four years of the date of commencing coursework.