Computer Science

Graduate Program at Colorado School of Mines

Computer Science

Graduate Program at Colorado School of Mines

Computer Science Program Overview

With skills applicable to every industry, computer science professionals are in demand today more than they’ve ever been. The U.S. Bureau of Labor Statistics projects computer and information technology jobs to grow 12 percent between 2018 and 2028, much faster than the average for all occupations.

Professor and computer science students in Human Centered Robotics LabThe fully online 12-credit graduate certificate in Cybersecurity for Cyber-Physical Systems provides a solid foundation of the knowledge and skills needed to identify, analyze, prevent and address real-world security and privacy issues. Students learn fundamental concepts in the design and implementation of networks; draw from current research to create their own cryptography projects; receive an introduction to best practices in information security and privacy; and develop solutions for cyber-physical systems such as wireless sensor networks, smart grids and critical national infrastructure.

The 12-credit post-baccalaureate Professional Computer Science certificate is ideal for working professionals in any industry—even those without any coding experience—who want to add highly desirable tech skills to their toolkit. Through four fully online undergraduate-level courses, students are introduced to fundamental computer programming concepts using a high-level language and a modern developer environment; learn to define and use data structures; gain the core skills for gathering, cleaning, organizing, analyzing, interpreting and visualizing data and understand software engineering processes and object-oriented design principles.

The Data Science – Computer Science graduate certificate is an online or residential program focusing on data science concepts within computer science (e.g., computational techniques and machine learning) plus prerequisite knowledge (e.g., probability and regression). The aim of this certificate is to help students develop an essential skill set in data analytics, including (1) deriving predictive insights by applying advanced statistics, modeling and programming skills, (2) acquiring in-depth knowledge of machine learning and computational techniques, and (3) unearthing important questions and intelligence for a range of industries, from product design to finance.

The 30-credit Master of Science program, with thesis, non-thesis and project options, allows students to further specialize in a specific area of computer science, as well as provides opportunities for original research. Mines’ departmental research lie in eight distinct categories, including robotics, augmented reality, machine learning and more, but students’ individual projects can span multiple areas. Core courses cover algorithms, operating systems, abstract models of computation and advanced computer architecture.

The CS@Mines Bridge program provides a direct path to a master’s degree in computer science for students with any undergraduate degree. Rigorous undergraduate computer science courses, which can be completed in two semesters, prepares students for master’s course work, which can be completed in two semesters of full-time enrollment. The MS can also be earned with part-time study.

The PhD program requires 72 hours of coursework and research credits and starts with five core courses in algorithms, operating systems, theory of computation, advanced computer architecture and research ethics. Candidates must also pass a PhD qualifying exam and successfully defend a thesis. The course of study can be tailored for students with either a bachelor’s or master’s degree. In addition to a strong background in computer science, the program provides students the means to become a leading expert in their chosen specialty and the tools to develop new technology and advance the field.

computer monitor

Students can choose from eight research areas


Master’s graduates earn an average starting salary of ~$98,000


Home to the Human-Centered Robotics Lab

Degree Options


Master’s Non-Thesis

Master’s Thesis

  • Computer Science


  • Computer Science

Program Details

Graduate Certificate 

  • Bachelor’s Degree: Required
  • GRE: Not Required
  • Letters of Recommendation: Not Required
  • Resume or Curriculum Vitae (CV): Required
  • Statement of Purpose: Not Required. Suggested if GPA is less than 3.0/4.0
  • Transcript(s): Required. Must be submitted for all schools attended (unofficial transcripts accepted for admissions review and must show successful completion of any required prerequisite course(s).

Master’s Non-Thesis

Master’s Thesis

  • Bachelor’s Degree: Required 
  • GRE: Required. Not required for current Mines students or Mines alumni.
  • Letters of Recommendation: Required – three letters. No letters of recommendation are required for current Mines students or Mines alumni.
  • Resume or Curriculum Vitae (CV): Not Required
  • Statement of Purpose: Required
  • Transcript(s): Required. Must be submitted for all schools attended (unofficial transcripts accepted for admissions review and must show successful completion of any required prerequisite course(s).
  • For international applicants or applicants whose native language is not English, please review the ENGLISH PROFICIENCY requirement.


  • Bachelor’s degree: Required
  • GRE: Required. Not required for current Mines students or Mines alumni.
  • Letters of Recommendation: Required – three letters. No letters of recommendation are required for current Mines students or Mines alumni.
  • Resume or Curriculum Vitae (CV): Not Required
  • Statement of Purpose: Required
  • Transcript(s): Required. Must be submitted for all schools attended (unofficial transcripts accepted for admissions review and must show successful completion of any required prerequisite course(s).
  • For international applicants or applicants whose native language is not English, please review the ENGLISH PROFICIENCY requirement.

For additional information about these admissions requirements, please refer to the Admissions Requirements page.

Algorithmic Robotics

An interdisciplinary research area drawing from traditional computer science, artificial intelligence, cognitive science, philosophy and engineering.  Our laboratories leverage theories, methods and techniques from these fields to perform research on computer vision and perception, learning and adaptation, planning and manipulation, natural language understanding and generation, and decision making in the context of unified and/or networked robot systems, as well as into the social, cognitive and theoretical implications of algorithmic design choices. 

Applied Algorithms

Our research in Applied Algorithms and Data Structures combines classical algorithms research (characterized by the development of elegant algorithms and data structures accompanied by theory that provides mathematical guarantees about performance) and applications research (consisting of the actual development of software accompanied by empirical evaluations on appropriate benchmarks). Applications include cheminformatics and material science, blockchain, data analytics, edge computing, networking, Internet of Things and VLSI design automation. 

Augmented Reality

Augmented reality is the process of augmenting the user’s view of the real world with computer-generated sensory information in the form of graphics (although sound can also be used). It is different from virtual reality, which completely replaces the user’s view of the real world with a simulated one. In AR, the user still sees the real world but the world is enhanced (or augmented) by virtual objects. For displaying the information, a head-mounted display can be used. More commonly, a hand-held device such as a smart phone or tablet is used. Virtual objects are overlaid on the live video images coming from the device’s camera.

A critical component in augmented reality is sensing the real world, in terms of recognizing objects and estimating the position and orientation (pose) of the user’s display relative to the real world. This information is critical in accurately rendering the virtual objects such that they are aligned with the real world. Another critical component is to automatically learn a model of the task being performed (such as a maintenance or assembly task) and recognize the state of the user’s progress through the task, in order to give guidance.

CS for All: Computer Science (CS) Education

This area encompasses research on STEM recruitment and diversity, K-12 computing education and computing/engineering education at the university level. Current projects include an on-campus computing outreach program tailored for girls across a broad age range; professional development opportunities for CS high school teachers; and incorporating ethics into core and elective computing courses.


Mines CSP (Cyber Security and Privacy) research group is directed by Dr. Chuan Yue, and it consists of multiple PhD, master and undergraduate research assistants.

We focus on investigating the cyber security and privacy problems related to the web, mobile, cloud, cyber-physical and IoT systems as well as their users. We take four main approaches in our research:

  1. Design novel systems and use techniques such as machine learning and program analysis to investigate security and privacy vulnerabilities
  2. Design and perform novel user studies towards achieving usable security and privacy
  3. Design novel mechanisms and software features to effectively strengthen the security and privacy protection capabilities of systems
  4. Design and conduct novel security and privacy educational research

We actively collaborate with researchers in other areas and other disciplines, as well as with industry and government partners.

High-Performance Computing & Programming Languages

Mines High Performance Systems and Software (HypeSYs) research group is co-directed by Dr. Bo Wu, Dr. Jedidiah McClurg, and Dr. Mehmet Belviranli. The interests of this group lie within the broad fields of high performance computing (HPC), programming languages, compilers, and heterogeneous computer architectures.

Dr. Bo Wu’s research aims at building high-performance software systems for deep learning and graph applications. His focus is on leveraging domain knowledge to create novel compiler and runtime techniques to systematically optimize parallel computing efficiency, maximize memory bandwidth utilization and reduce computation redundancy.

Dr. Jedidiah McClurg’s research focuses on building new programming languages and tools to help programmers write better code. Formal methods such as verification (proving correctness) and synthesis (automatically generating correct code) are key components of this research. Dr. McClurg targets a broad spectrum of application areas, including networking, distributed systems, security and computer science education.

Dr. Mehmet Belviranli’s research is centered on improving the utilization of diversely heterogenous architectures. He develops runtimes, analytical models and programming solutions to increase the computing and energy efficiency of autonomous and embedded systems. The target application areas of Dr. Belviranli’s research include but are not limited to machine learning acceleration, object detection and tracking, and motion planning & kinematics computing for self-driving cars, autonomous drones and collaborative robots.

Machine Learning

Mines machine learning group is directed by Dr. Hua Wang, and consists of multiple PhD, master and undergraduate research assistants.

We focus on developing mathematical foundations and algorithms needed for computers to learn. Our research spans the areas of machine learning and data mining, as well as their applications in a number of practical areas, such as cheminformatics, bioinformatics, medical image analysis and computer vision. The goal of our research is to bridge the gap between computational solutions and real-world problems. Several of our current research topics include:

  1. Robust learning models: Data collected from real-world problems are inevitably compromised by noises and outliers, which makes conventional learning models hard to achieve satisfactory performance. As a result, designing learning models that are insensitive to noises, particularly to outlying data points, is of great value for practice. We utilized state-of-the-art numerical methods and redesigned a number of most broadly used learning models to improve their robustness against noises.
  2. Data fusion models: In many real-world applications, data is usually collected from different sources. For example, in disease diagnosis physicians can collect different types of data to evaluate different aspects of a patient, such as the physical data, imaging data, genetic data, etc. How to effectively integrate this data is playing a critical role in diagnosis. We have built many mixed-norm induced learning models, which can elegantly extract the most relevant information from massive raw data collected by various instruments.
  3. Learning models for big data: With the recent development in technologies, we have accumulated vast amount of data, such as those in biology, information technology, to name a few. This data provides a wealth of information that is valuable for our lives. However, how to efficiently process the data with either a big number of samples or a big number features is a very challenging problem, which has aroused a lot of interests in both academia and industries. We are actively engaged in this area and have designed learning models with low computational complexity to deal with big data problems extracted from a variety of real-world domains.

Networked Systems

Continuing advances in the computational power, radio components, and memory elements have led to the proliferation of portable devices (e.g., intelligent sensors, actuators, RFID readers, PDAs, smartphone) with substantial processing capabilities and various networking interfaces. These devices are rapidly permeating a variety of application domains such as monitoring and remediation of an oil spill, underground mine safety, earth dam failure detection, and climate forecasting. These application areas align very well with Colorado School of Mines’ strategic areas: earth, energy and environment.

We conduct research and development within the realm of wireless networking and mobile computing, addressing challenges raised by the emerging pervasive computing environments and Internet of Things (IoT). Our overall research style involves the design of algorithms and protocols, the evaluation of concepts and ideas via both simulations and actual system building, and the development of applications using the algorithms and systems built. In addition to focusing on basic computer science research, we also actively conduct interdisciplinary research. Example contributions include using wireless robotic networks for oil refinery inspection and using wireless sensor networks for intelligent geosystems, subsurface contaminant monitoring and building monitoring and control.

 Colorado ResidentOut-of-State Student
Room & Board$17,496$17,496
Books & Supplies$1,500$1,500
Misc. Expenses$1,800$1,800
**Cost per credit hour$982$2,201

*Allowance for fees based on mandatory fees charged to all students. Does not include fees for orientation, library, yearbook, refrigerator rental, voice messaging, ect.

At less than 4.5 credit hours, you may be ineligible for financial aid.

Request for additional information

Fill out this form to receive more information about this exciting program. 


Career Outcomes

  • 3D Sensing Characterization
  • Algorithm Engineer
  • Application Engineer
  • AI Engineer
  • ASIC Design Engineer
  • Automation Engineer
  • Autonomy Research Engineer
  • Business Data Scientist
  • Business Systems Analyst
  • Camera Sensor Engineer
  • Camera System Tuning Engineer
  • Compiler Engineer
  • Computer Vision Research Scientist
  • Consultant
  • CPU Core Logic Designer
  • Data Engineer
  • Data Mining Engineer
  • Data Scientist
  • Design Verification Engineer
  • Developer Relations
  • Firmware Developer
  • Flight Test Engineer
  • Graphics Software Architect
  • Informatics and Data Engineer
  • IoT Scrum Master
  • Java Developer
  • Knowledge Scientist
  • Machine Learning Engineer
  • Mobile Software Engineer
  • Modem System Design Engineer
  • Network Hardware Engineer
  • Operational Test Engineer
  • Perception Engineer
  • Planning Engineer
  • Quantitative Analytics Specialist
  • Research Scientist in Computer Graphics
  • Research Scientist in Deep Learning
  • Robotics Engineer
  • Scrum Master
  • SoC Front-End Engineer
  • Software Architect
  • Software Engineer
  • Solutions Engineer
  • Support Engineer
  • System Validation Engineer
  • Technical Writer
  • Test Engineer
  • UX Engineer
  • Video Software Engineer
  • Web Development
  • Wireless System Engineer
  • Workload Analytics Engineer
  • Apple
  • Amazon
  • Google
  • Microsoft
  • Salesforce
  • Chevron
  • Numerical Algorithms Group (NAG)
  • Outrider
  • BlackSky
  • The Trade Desk
  • Plus One Robotics
  • Raytheon
  • Emerson
  • CACI
  • RARE Petro

Overall, computer and information technology jobs are expected to grow 12 percent between 2018 and 2028, much faster than the average for all occupations. The median annual wage in the field is also higher than the average of all other occupations—$88,240 compared to $39,810, as of May 2019.

In fact, of the 20 occupations that are projected to add the most jobs between 2018 and 2028, applications software developer ranked sixth, adding 241,500 jobs in that span—a growth rate of 26 percent. With high demand comes higher salaries; median pay in 2018 was $103,620.

Information security analyst jobs are projected to grow 32 percent over the same time period, adding 35,500 positions.

Below is the BLS outlook for computer and information technology jobs:

Occupation TitleProjected GrowthNew Jobs2019 Median Pay
Computer Systems Analysts 9%56,000$90,920
Computer and Information Systems Managers12%46,972$152,860
Information Security Analysts 32%35,500$99,730
Network & Computer Systems Administrators5%18,200$83,510
Database Administrators9%10,500$93,750
Computer Network Architects5%8,400$112,690
Computer & Information Research Scientists16%5,200$122,840

Computer and information systems managers, with an average salary of $142,530, are among the highest-paying occupations overall—16th in the country, according to the BLS, in a list dominated by medical professionals.

Colorado School of Mines awarded 24 master’s degrees in computer science in 2019. The average salary offer for that group was $92,625, with a high of $112,000 (view the Career Center Annual Report). Mines has consistently been highly ranked for return on investment.

Grad School Insights

Videos: Computer Science at Mines

Master’s student Orden Aitchedji explains how the graduate program in computer science at Mines has given him a broad knowledge base.

“Mines hits that sweet spot on student-to-faculty ratio,” says master’s graduate Jen Ryan. “You really know your professors.”

The connection between Mines and the NSA drew Jordan Card to pursue cybersecurity studies in Golden.

Student Testimonial