Computer Science courses are listed in the nine different breadth areas below.

  • To earn a PhD degree, you must earn a B or better (not a B-) in at least one 5000-level course (not 6000 or higher) in FIVE of these nine areas. Breadth courses for PhD degree should cover a range of Computer Science topics outside the student's research area. Breadth courses should preferably be from FIVE different breadth areas. Through petition, students may count one breadth course within their area.
  • To earn an MS degree, both traditional and professional, you must earn a B or better (not a B-) in at least one 5000-level course (not 6000 or higher) in FOUR of these nine areas
  • To earn an ME you must earn a B or better (not a B-) in at least one 5000-level course (not 6000 or higher) in THREE of these nine areas 

The following limitations apply to breadth courses: 

  • Courses may be listed in more than one area of research, but one course cannot count as breadth for two areas.
  • Courses that end in a 0 cannot count as breadth course.
  • Non-CS courses listed under a breadth area will count against CS Master's students' non-CS course limit. 

By petition to the Graduate Committee, a more advanced course at CU in an area in which basic graduate work was done elsewhere may be used to satisfy part of this requirement. Below is a list of courses for each area of research. Please note that any non-CS courses listed under any of the breadth area counts against your total allowed non-CS courses. 

Artificial Intelligence

Computational Biology

  • CSCI 5314 - Algorithms for Molecular Biology
  • CSCI XXXX - Biologically-inspired Multi-agent Systems

Human-Centered Computing

  • CSCI 5809 – Computer Animation
  • CSCI 5839 – User Centered Design
  • CSCI 5849 - Input Interaction and Accessibility
  • CSCI 5919 – HCI: Survey and Synthesis
  • CSCI 5929 – HCI: Survey and Synthesis 2
  • INFO 5501 - Problems in Information Science: Peer Production and Crowds
  • INFO 5601 - Information Policy & Ethics
  • INFO 5602 - Information Visualization
  • INFO 5603 - Survey Research Design
  • INFO 5611 - Experience Design in UbiComp
  • INFO 5502 - Problems in Information Science: Online Community
  • INFO 5505 - Problems in Information Science: Designing for Creativity and Learning
  • INFO 5605 - Applied Ethnographic Methods
  • INFO 5504 - Problems in Information Science Digital Identity

Numerical & Scientific Computing

  • CSCI 5229 – Computer Graphics
  • CSCI 5239 – Advanced Computer Graphics
  • CSCI 5446 – Chaotic Dynamics
  • CSCI 5576 – High-Performance Scientific Computing
  • CSCI 5606 – Principles of Numerical Computation
  • CSCI 5636 – Numerical Solution of Partial Differential Equations
  • CSCI 5646 – Numerical Linear Algebra
  • CSCI 5676 – Numerical Methods for Unconstrained Optimization

Programming Languages & Verification

  • CSCI 5135 – Computer-Aided Verification
  • CSCI 5525 – Compiler Construction
  • CSCI 5535 – Fundamental Concepts of Programming Languages
  • CSCI 5854 – Theoretical Foundation of Cyber-Physical System

Robotics

  • CSCI 5XXX - Introduction to Robotics - Coming Soon
  • CSCI 5XXX - Human Robot Interaction - Coming Soon
  • CSCI 5XXX - Algorithmics Human Robot Interaction - Coming Soon
  • CSCI 5616 - Introduction to VR/AR
  • CSCI 5302 – Advanced Robotics
  • CSCI 5722 - Computer Vision

Software Engineering

  • CSCI 5448 – Object-Oriented Analysis and Design
  • CSCI 5828 – Foundations of Software Engineering

Database Systems

Currently there are no classes offered under this area. This list will be updated as courses become available. Students who completed Database classes in the past may still count those towards DB breadth.

Systems & Networking 

  • CSCI 5253 – Datacenter Scale Computing
  • CSCI 5273 – Network Systems
  • CSCI 5283 – Wireless Technologies and Applications
  • CSCI 5413 – Ethical Hacking
  • CSCI 5573 – Advanced Operating Systems
  • CSCI 5673 – Distributed Systems
  • CSCI 5753 – Computer Performance Modeling
  • CSCI 5403 – Intro to Cyber Security
  • ATLS 5214 – Big Data Architecture

Theory of Computing

  • CSCI 5254 - Convex Optimization
  • CSCI 5444 – Introduction to Theory of Computation
  • CSCI 5454 – Design and Analysis of Algorithms
  • CSCI 5654 – Linear Programming