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

  • 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 your 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

  • CSCI 5302 – Advanced Robotics
  • CSCI 5352 – Network Analysis and Modeling
  • CSCI 5502 – Data Mining
  • CSCI 5622 - Machine Learning
  • CSCI 5722 - Computer Vision
  • CSCI 5822 - Probabilistic Models
  • CSCI 5832 – Natural Language Processing
  • CSCI 5922 - Neural Networks and Deep Learning

Computational Biology

Currently there are no classes offered under this area. This list will be updated as courses become available.

Human-Centered Computing

  • CSCI 5809 – Computer Animation
  • CSCI 5839 – User Centered Design
  • CSCI 5919 – HCI: Survey and Synthesis
  • CSCI 5929 – HCI: Survey and Synthesis 2
  • CSCI 7000 - Human Robot Interaction
  • 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

  • CSCI 5135 – Computer-Aided Verification
  • CSCI 5525 – Compiler Construction
  • CSCI 5535 – Fundamental Concepts of Programming Languages

Software Engineering

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

Database Systems

  • CSCI 5417 – Information Retrieval Systems
  • CSCI 5817 – Database Systems

Systems & Networking 

  • CSCI 5253 - Datacenter Scale Computing
  • CSCI 5273 – Network Systems
  • CSCI 5413 - Ethical Hacking
  • CSCI 5573 – Advanced Operating Systems
  • CSCI 5673 – Distributed Systems
  • CSCI 5753 – Computer Performance Modeling
  • ATLS 5214 - Big Data Architecture
  • ECEN 5032 - Computer Security

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
  • CSCI 5854 - Theoretical Foundation of Cyber-Physical System