The Master of Science in Computer Science (MS-CS) program hosted online through the Coursera platform offers stackable graduate-level courses, a graduate certificate, and a fully accredited master’s degree in computer science. MS-CS on Coursera students earn the same credentials as on-campus students. There are no online or Coursera designations on official CU transcripts or diplomas.

The Department of Computer Science has embraced this degree as an ideal opportunity to expand access to the excellent graduate-level courses offered by the department's highly reputed faculty beyond CU Boulder's physical campus. The goal of the MS-CS on Coursera program is to produce creative, workforce-ready graduates equipped with versatile specialized skills and technical leadership.

Students pursuing this degree will also have access to a wide range of courses taught as part of other CU Boulder degrees offered on the Coursera platform, including topics such as data science, engineering management, and electrical engineering

Program Policies

This specialized program does not align with standard campus policies. Please refer to the Special Online Programs section of the catalog for more information.


 

Requirements 

Admission

The MS-CS on Coursera uses performance-based admissions, which means students earn program admission simply by performing well in a three-course pathway. Students enroll in and complete their preferred three-course pathway with a grade of B or better in each of the three courses to be admitted to the program. Pathway courses are a required part of the curriculum, which means students make direct progress toward the degree while they work toward program admission.

There is no traditional application for admission to the degree. The University of Colorado Boulder never asks for transcripts, previous test scores (like GRE or TOEFL), application essays, letters of recommendation, or application fees. A prior degree is not required for admission. Because this program is fully online, students do not need to complete a background check to enroll.

A student must complete four required protocols to earn admission to the MS-CS on Coursera:

  1. Earn at least a grade of B in each for-credit course within one of the following pathway specializations:​
    • Foundations of Data Structures and Algorithms – 
      CSCA 5414 Dynamic Programming, Greedy Algorithms
      CSCA 5424 Approximation Algorithms and Linear Programming 
      CSCA 5454 Advanced Data Structures, RSA and Quantum Algorithms
    • Network Systems: Principles and Practices (Linux and Cloud Networking) –
      CSCA 5063 Network Systems Foundation
      CSCA 5073 Network Principles in Practice: Linux Networking
      CSCA 5083 Network Principles in Practice: Cloud Networking
  2. Have a cumulative GPA of at least 3.00 for all for-credit courses taken to date.
  3. Declare intent to seek the degree via the enrollment form. This can be done before, during or after completing any work in a pathway specialization.

Upon completion of these three steps, the student is admitted to the MS-CS on Coursera. Students may successfully complete a designated pathway specialization and declare intent at any point in their academic journey. Completion of a pathway specialization is not required for students to begin earning academic credit, only to earn the degree.

Non-degree-seeking students may also enroll in for-credit courses. All courses attempted and/or completed for credit will appear on official CU Boulder transcripts (unless dropped by the drop deadline) and will count toward the cumulative GPA.

Prerequisite Knowledge

There are no course prerequisites or corequisites for MS-CS courses on Coursera. Nevertheless, it is important that students are prepared for individual courses. Course descriptions will advise students of assumed incoming knowledge, and students are strongly encouraged to take course sequences in the order they are presented on the Coursera platform. 

Students are also encouraged to take a non-credit version in some form before moving to the for-credit version to test whether they can succeed, especially if they are unsure whether they have the background knowledge required for a course

Program Requirements

The MS-CS on Coursera is a non-thesis degree program that requires 30 credit hours of graduate-level coursework. This includes 15 credits of breadth coursework and a choice of 15 credits hours of elective coursework from the options listed below. Students must complete 5 elective specializations or a combination of 4 complete elective specializations and three 1-credit elective courses totaling 15 credits.

Up to 6 graduate-level credit hours of courses offered by other CU degrees on Coursera may be applied as elective credits toward the MS-CS on Coursera degree. All courses must be graduate level, offered through Coursera, and meet all applicable academic standards. This includes all courses offered by the ME-EM, MS-DS, and MS-EE programs on Coursera that do not start with a "CSCA" prefix, with the exception of the following courses. Credit from these courses cannot be applied toward MS-CS on Coursera requirements:

Courses may not be double-counted toward two credentials of the same level. This means students can apply credit from a particular course toward one graduate certificate and one graduate degree, but they cannot apply credit from a particular course toward two graduate certificates or two graduate degrees. CU certificates on Coursera are automatically conferred once all requirements are met.

The MS-CS on Coursera requires a minimum cumulative GPA of 3.00 and a grade of B or better in each breadth class (including the two required pathway specializations and the three additional required breadth specializations). Courses in which grades below C (2.0) are received may not be applied toward degree requirements.

Breadth Courses
Foundations of Data Structures and Algorithms (Pathway Specialization)3
Dynamic Programming, Greedy Algorithms
Approximation Algorithms and Linear Programming
Advanced Data Structures, RSA and Quantum Algorithms
Network Systems: Principles and Practice (Linux and Cloud Networking) (Pathway Specialization)3
Network Systems Foundation
Network Principles in Practice: Linux Networking
Network Principles in Practice: Cloud Networking
Machine Learning3
Introduction to Machine Learning - Supervised Learning
Unsupervised Algorithms in Machine Learning
Introduction to Deep Learning
Computing, Ethics, and Society3
Computing, Ethics, and Society Foundations
Ethical Issues in AI and Professional Ethics
Ethical Issues in Computing Applications
Foundations of Autonomous Systems3
Modeling of Autonomous Systems
Requirement Specifications for Autonomous Systems
Verification and Synthesis of Autonomous Systems
Elective Courses
Take five specializations or combination of four complete specializations and three 1-credit courses totaling 15 credits15
Software Architecture for Big Data
Fundamentals of Software Architecture for Big Data
Software Architecture Patterns for Big Data
Applications of Software Architecture for Big Data
Data Mining Foundations and Practice
Data Mining Pipeline
Data Mining Methods
Data Mining Project
Natural Language Processing: Deep Learning Meets Linguistics
Fundamentals of Natural Language Processing
Deep Learning for Natural Language Processing
Model and Error Analysis for Natural Language Processing
Human-Computer Interaction
Ideating and Prototyping Interfaces
User Interface Testing and Usability
Emerging Topics in HCI: Designing for VR, AR, AI
Generative AI
Introduction to Generative AI
Modern Applications of Generative AI
Advances in Generative AI
Internet Policy: Principles and Problems
When to Regulate? The Digital Divide and Net Neutrality
Protecting Individual Privacy on the Internet
Cybersecurity in Crisis: Information and Internet Security
Object Oriented Analysis and Design
Object-Oriented Analysis and Design: Foundations and Concepts
Object-Oriented Analysis and Design: Patterns and Principles
Object-Oriented Analysis and Design: Practice and Architecture
Introduction to Robotics with Webots
Basic Robotic Behaviors and Odometry
Robotic Mapping and Trajectory Generation
Robotic Path Planning and Task Execution
Computer Visualization
Introduction to Computer Vision
Deep Learning for Computer Vision
Computer Vision for Generative AI
Stand-Alone Electives
Fundamentals of Data Visualization
Special Topics
Special Topics
Total Credit Hours30

The Department of Computer Science will continue to roll out additional program curriculum. Currently, the department is developing courses covering topics such as data center scale computing, high-performance and parallel computing, theory of computation, robotics, object-oriented analysis and design, network systems, and big data challenges and NoSQL solutions.

Faculty members who develop courses and/or serve as instructor of record for graduate level courses will have approved Graduate Faculty Appointments.


Time Limit

Courses used toward the MS-CS on Coursera degree must have been completed within eight years of the degree conferral date. Courses taken more than eight years prior to graduation will appear on the transcript and be calculated in the cumulative GPA but may not be used toward the degree. Students may continue to pursue the degree even after eight years, but they must accrue 30 credits within an eight-year window in order to earn the degree.

The eight-year restriction is applied to courses on a rolling basis and is determined by the date that credit was awarded in the course.

Learning Outcomes

Upon graduation, students are expected to perform the following outcomes at an advanced level of sophistication:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions.