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

money

Master’s graduates earn an average starting salary of $92,625

robot

Home to the Human-Centered Robotics Lab

Request for additional information

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

Loading...

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.

Program Details

Graduate Certificate in Cybersecurity for Cyber-Physical Systems

  • Undergraduate-level knowledge on data structures, computer organization, algorithms and operating systems
  • Undergraduate-level knowledge on statistics and discrete mathematics
  • Undergraduate-level skills on the Linux operating system and shell scripts
  • Undergraduate-level programming skills in languages such as C, C++, Python, Java, JavaScript and HTML/CSS

Post-Baccalaureate Professional Computer Science Certificate

  • Applicants must have a bachelor’s degree, or equivalent, from an accredited institution in an area of study that is not computer science

Master’s Thesis

  • Bachelor’s degree with a grade-point average of 3.0 on a 4.0 scale
  • Completion of two semesters of calculus, and computer science courses in programming concepts, data structures, computer organization, software engineering and discrete math
  • Competitive Graduate Record Examination scores (verbal reasoning, quantitative reasoning, and analytical writing), with a minimum quantitative reasoning score of 151 or higher (or 650 on the old scale)
  • Applicants who have graduated from Mines within the past five years are not required to submit GRE scores. Applicants from outside of Mines or that graduated from Mines more than five years ago must submit GRE scores. Applicants who have graduated with a Math, engineering or science degree from Mines within the past five years are not required to submit GRE scores
  • Mines accepts GRE scores from tests taken within five years of the date of entry
  • Statement of purpose letter: present your professional and personal goals
  • Resume/CV
  • Applicants that are NOT current Mines students must submit three letters of recommendation
  • For international applicants or applicants whose native language is not English, please review the ENGLISH PROFICIENCY requirement

Master’s Non-Thesis

  • Bachelor’s degree with a grade-point average of 3.0 on a 4.0 scale
  • Completion of two semesters of calculus, and computer science courses in programming concepts, data structures, computer organization, software engineering and discrete math
  • Statement of purpose letter: present your professional and personal goals
  • Resume/CV
  • Applicants that are NOT current Mines students must submit three letters of recommendation
  • For international applicants or applicants whose native language is not English, please review the ENGLISH PROFICIENCY requirement

Doctorate

  • Bachelor’s degree with a grade-point average of 3.0 on a 4.0 scale
  • Completion of two semesters of calculus, and computer science courses in programming concepts, data structures, computer organization, software engineering and discrete math
  • Competitive Graduate Record Examination scores (verbal reasoning, quantitative reasoning, and analytical writing), with a minimum quantitative reasoning score of 151 or higher (or 650 on the old scale)
  • Applicants who have graduated from Mines within the past five years are not required to submit GRE scores. Applicants from outside of Mines or that graduated from Mines more than five years ago must submit GRE scores. Applicants who have graduated with a Math, engineering or science degree from Mines within the past five years are not required to submit GRE scores
  • Mines accepts GRE scores from tests taken within five years of the date of entry
  • Statement of purpose letter: present your professional and personal goals
  • Resume/CV
  • Applicants that are NOT current Mines students must submit three letters of recommendation
  • For international applicants or applicants whose native language is not English, please review the ENGLISH PROFICIENCY requirement
  • Prior research experience is desired but not required

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

Graduate Certificate in Cybersecurity for Cyber-Physical Systems, 12 credit hours

The program consists of four online graduate-level courses:

  • CSCI 560 Fundamentals of Computer Networks, 3.0
  • CSCI 574 Theory of Cryptography, 3.0
  • CSCI 585 Information Security Privacy, 3.0
  • CSCI 587 Cyber-Physical Systems Security, 3.0

Post-Baccalaureate Professional Computer Science Certificate, 12 credit hours

The program consists of four online undergraduate-level courses:

  • CSCI 261 Programming Concepts, 3.0
  • CSCI 262 Data Structures, 3.0
  • CSCI 303 Introduction to Data Science, 3.0
  • CSCI 306 Software Engineering, 3.0
  • CSCI 406 Algorithms, 3.0

Master of Science, 30 credit hours

  • Thesis option requires 21 hours of coursework and 9 hours of thesis credit, leading to an acceptable master’s thesis
  • Non-thesis option consists of two tracks: Project Track and Coursework Track
    • Project Track requires 24 hours of coursework and 6 hours of project credit
    • Coursework Track requires 30 hours of coursework
    • All non-thesis students must take at least 12 credits of CSCI 500-level coursework, excluding independent study credits
  • All students must take the following four core courses:
    • CSCI 406 Algorithms, 3.0
    • CSCI 442 Operating Systems, 3.0
    • CSCI 561 Theory of Computation, 3.0
    • CSCI 564 Advanced Computer Architecture, 3.0
  • Students may choose remaining elective courses from any CSCI graduate course offered by the department
  • Up to 6 credits of elective courses may be taken outside of CSCI

Doctor of Philosophy, 72 credit hours

  • The PhD degree in Computer Science requires 72 credit hours of course work and research credits.
  • The following five courses are required of all PhD students. Students who have taken equivalent courses at another institution may satisfy these requirements by transfer.
    • CSCI 406 Algorithms, 3.0
    • CSCI 442 Operating Systems, 3.0
    • CSCI 561 Theory of Computation, 3.0
    • CSCI 564 Advanced Computer Architecture, 3.0
    • SYGN 502 Introduction to Research Ethics 1.0
  • Students desiring to take the PhD Qualifying Exam must have:
    • (if required by your advisor) taken SYGN 501 The Art of Science (previously or concurrently),
    • Complete (previously or concurrently) at least four CSCI 500-level courses at Mines (only one CSCI599 is allowed), and
    • maintained a GPA of 3.5 or higher in all CSCI 500-level courses taken.

    The PhD Qualifying Exam must be taken no later than the fourth semester of study. Exception must be formally requested via email to the Qualifying Exam Committee Chair and approved by the Graduate Committee. The PhD Qualifying Exam is offered once a semester. Each PhD Qualifying Exam comprises of two research areas, chosen by the student.

  • PhD Thesis Proposal: After passing the Qualifying Examination, the PhD student is allowed up to 18 months to prepare a written Thesis Proposal and present it formally to the student’s Thesis Committee and other interested faculty.
  • Admission to Candidacy:  In addition to the Graduate School requirements, full-time PhD students must complete the following requirements within two calendar years of enrolling in the PhD program.
    • Have a Thesis Committee appointment form on file in the Graduate Office:
    • Have passed the PhD Qualifying Exam demonstrating adequate preparation for, and  satisfactory ability to conduct doctoral research. 
  • PhD Thesis Defense: At the conclusion of the student’s PhD program, the student will be required to make a formal presentation and defense of her/his thesis research.  A student must “pass” this defense to earn a PhD degree.

» VIEW CATALOG

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.

Cybersecurity

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.

CSCI507. INTRODUCTION TO COMPUTER VISION. 3.0 Semester Hrs.

Equivalent with CSCI437,CSCI512,EENG507,EENG512,
(I) Computer vision is the process of using computers to acquire images, transform images, and extract symbolic descriptions from images. This course provides an introduction to this field, covering topics in image formation, feature extraction, location estimation, and object recognition. Design ability and hands-on projects will be emphasized, using popular software tools. The course will be of interest both to those who want to learn more about the subject and to those who just want to use computer imaging techniques. Prerequisites: Undergraduate level knowledge of linear algebra, statistics, and a programming language. 3 hours lecture; 3 semester hours.

CSCI508. ADVANCED TOPICS IN PERCEPTION AND COMPUTER VISION. 3.0 Semester Hrs.

Equivalent with EENG508,
(II) This course covers advanced topics in perception and computer vision, emphasizing research advances in the field. The course focuses on structure and motion estimation, general object detection and recognition, and tracking. Projects will be emphasized, using popular software tools. Prerequisites: EENG507 or CSCI507. 3 hours lecture; 3 semester hours.

CSCI522. INTRODUCTION TO USABILITY RESEARCH. 3.0 Semester Hrs.

(I) An introduction to the field of Human-Computer Interaction (HCI). Students will review current literature from prominent researchers in HCI and will discuss how the researchers’ results may be applied to the students’ own software design efforts. Topics include usability testing, ubiquitous computing user experience design, cognitive walkthrough and talk-aloud testing methodologies. Students will work in small teams to develop and evaluate an innovative product or to conduct an extensive usability analysis of an existing product. Project results will be reported in a paper formatted for submission to an appropriate conference (UbiComp, SIGCSE, CHI, etc.). Prerequisite: CSCI 261 or equivalent. 3 hours lecture, 3 semester hours.

CSCI532. ROBOT ETHICS. 3.0 Semester Hrs.

(II) This course explores ethical issues arising in robotics and human-robot interaction through philosophical analysis, scientific experimentation, and algorithm design. Topics include case studies in lethal autonomous weapon systems, autonomous cars, and social robots, as well as higher-level concerns including economics, law, policy, and discrimination. Graduate enrollees will additionally participate in and report on the results of empirical and computational robot ethics research, with the goal of developing publishable works. Prerequisite: Graduate student standing.

CSCI534. ROBOT PLANNING AND MANIPULATION. 3.0 Semester Hrs.

An introduction to planning in the context of robotics covering symbolic and motion planning approaches. Symbolic computation, symbolic domains, and efficient algorithms for symbolic planning; Robot kinematics, configuration spaces, and algorithms for motion planning. Applications of planning will focus on manipulation problems using robot arms. Prerequisite: CSCI404 or graduate student standing.

CSCI536. HUMAN-ROBOT INTERACTION. 3.0 Semester Hrs.

Human-Robot Interaction is an interdisciplinary field at the intersection of Computer Science, Robotics, Psychology, and Human Factors, that seeks to answer a broad set of questions about robots designed to interact with humans (e.g., assistive robots, educational robots, and service robots), such as: (1) How does human interaction with robots differ from interaction with other people? (2) How does the appearance and behavior of a robot change how humans perceive, trust, and interact with that robot? And (3) How can we design and program robots that are natural, trustworthy, and effective? Accordingly, In this course, students will learn (1) how to design interactive robots, (2) the algorithmic foundations of interactive robots; and (3) how to evaluate interactive robots. To achieve these learning objectives, students will read and present key papers from the HRI literature, complete an individual final project tailored to their unique interests and skillsets, and complete a group project in which they will design, pilot, and evaluate novel HRI experiments, with in-class time expected to be split between lecture by the instructor, presentations by students, and either collaborative active learning activities or discussions with researchers in the field. Prerequisite: Data Structures, Probability and Statistics or equivalent.

CSCI542. SIMULATION. 3.0 Semester Hrs.

(I) Advanced study of computational and mathematical techniques for modeling, simulating, and analyzing the performance of various systems. Simulation permits the evaluation of performance prior to the implementation of a system; it permits the comparison of various operational alternatives without perturbing the real system. Topics to be covered include simulation techniques, random number generation, Monte Carlo simulations, discrete and continuous stochastic models, and point/interval estimation. Offered every other year. Prerequisite: CSCI 262 (or equivalent) and MATH 323 (or MATH 530 or equivalent). 3 hours lecture; 3 semester hours.

CSCI544. ADVANCED COMPUTER GRAPHICS. 3.0 Semester Hrs.

Equivalent with MATH544,
This is an advanced computer graphics course in which students will learn a variety of mathematical and algorithmic techniques that can be used to solve fundamental problems in computer graphics. Topics include global illumination, GPU programming, geometry acquisition and processing, point based graphics and non-photorealistic rendering. Students will learn about modern rendering and geometric modeling techniques by reading and discussing research papers and implementing one or more of the algorithms described in the literature.

CSCI546. WEB PROGRAMMING II. 3.0 Semester Hrs.

(I) This course covers methods for creating effective and dynamic web pages, and using those sites as part of a research agenda related to Humanitarian Engineering. Students will review current literature from the International Symposium on Technology and Society (ISTAS), American Society for Engineering Education (ASEE), and other sources to develop a research agenda for the semester. Following a brief survey of web programming languages, including HTML, CSS, JavaScript and Flash, students will design and implement a website to meet their research agenda. The final product will be a research paper which documents the students’ efforts and research results. Prerequisite: CSCI 262. 3 hours lecture, 3 semester hours.

CSCI547. SCIENTIFIC VISUALIZATION. 3.0 Semester Hrs.

Equivalent with MATH547,
Scientific visualization uses computer graphics to create visual images which aid in understanding of complex, often massive numerical representation of scientific concepts or results. The main focus of this course is on techniques applicable to spatial data such as scalar, vector and tensor fields. Topics include volume rendering, texture based methods for vector and tensor field visualization, and scalar and vector field topology. Students will learn about modern visualization techniques by reading and discussing research papers and implementing one of the algorithms described in the literature.

CSCI555. GAME THEORY AND NETWORKS. 3.0 Semester Hrs.

Equivalent with CSCI455,
(II) An introduction to fundamental concepts of game theory with a focus on the applications in networks. Game theory is the study that analyzes the strategic interactions among autonomous decision-makers. Originated from economics. Influenced many areas in Computer Science, including artificial intelligence, e-commerce, theory, and security and privacy. Provides tools and knowledge for modeling and analyzing real-world problems. Prerequisites: CSCI406 Algorithms. 3 hours lecture; 3 semester hours.

CSCI560. FUNDAMENTALS OF COMPUTER NETWORKS. 3.0 Semester Hrs.

(II) This fully online course provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics include overview of network architectures, applications, network programming interfaces (e.g., sockets), transport, congestion, routing, and data link protocols, addressing, local area networks, wireless networks, and network security. Examples are drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite. Prerequisite: CSCI442. 3 hours lecture; 3 semester hours.

CSCI561. THEORY OF COMPUTATION. 3.0 Semester Hrs.

(I) An introduction to abstract models of computation and computability theory; including finite automata (finite state machines), pushdown automata, and Turing machines. Language models, including formal languages, regular expressions, and grammars. Decidability and undecidability of computational problems. 3 hours lecture; 3 semester hours. Prerequisite: CSCI406.

CSCI562. APPLIED ALGORITHMS AND DATA STRUCTURES. 3.0 Semester Hrs.

(II) Industry competitiveness in certain areas is often based on the use of better algorithms and data structures. The objective of this class is to survey some interesting application areas and to understand the core algorithms and data structures that support these applications. Application areas could change with each offering of the class, but would include some of the following: VLSI design automation, computational biology, mobile computing, computer security, data compression, web search engines, geographical information systems. Prerequisite: MATH/CSCI406. 3 hours lecture; 3 semester hours.

CSCI563. PARALLEL COMPUTING FOR SCIENTISTS AND ENGINEERS. 3.0 Semester Hrs.

(I) Students are taught how to use parallel computing to solve complex scientific problems. They learn how to develop parallel programs, how to analyze their performance, and how to optimize program performance. The course covers the classification of parallel computers, shared memory versus distributed memory machines, software issues, and hardware issues in parallel computing. Students write programs for state of the art high performance supercomputers, which are accessed over the network. Prerequisite: Programming experience in C. 3 hours lecture; 3 semester hours.

CSCI564. ADVANCED COMPUTER ARCHITECTURE. 3.0 Semester Hrs.

The objective of this class is to gain a detailed understanding about the options available to a computer architect when designing a computer system along with quantitative justifications for the options. All aspects of modern computer architectures including instruction sets, processor design, memory system design, storage system design, multiprocessors, and software approaches will be discussed. Prerequisite: CSCI341. 3 hours lecture; 3 semester hours.

CSCI565. DISTRIBUTED COMPUTING SYSTEMS. 3.0 Semester Hrs.

(II) This course discusses concepts, techniques, and issues in developing distributed systems in large scale networked environment. Topics include theory and systems level issues in the design and implementation of distributed systems. Prerequisites: CSCI 442 or equivalent. 3 hours of lecture; 3 semester hours.

CSCI568. DATA MINING. 3.0 Semester Hrs.

(II) This course is an introductory course in data mining. It covers fundamentals of data mining theories and techniques. We will discuss association rule mining and its applications, overview of classification and clustering, data preprocessing, and several applicationspecific data mining tasks. We will also discuss practical data mining using a data mining software. Project assignments include implementation of existing data mining algorithms, data mining with or without data mining software, and study of data mining related research issues. Prerequisite: CSCI262. 3 hours lecture; 3 semester hours.

CSCI571. ARTIFICIAL INTELLIGENCE. 3.0 Semester Hrs.

(I) Artificial Intelligence (AI) is the subfield of computer science that studies how to automate tasks for which people currently exhibit superior performance over computers. Historically, AI has studied problems such as machine learning, language understanding, game playing, planning, robotics, and machine vision. AI techniques include those for uncertainty management, automated theorem proving, heuristic search, neural networks, and simulation of expert performance in specialized domains like medical diagnosis. This course provides an overview of the field of Artificial Intelligence. Particular attention will be paid to learning the LISP language for AI programming. Prerequisite: CSCI262. 3 hours lecture; 3 semester hours.

CSCI572. COMPUTER NETWORKS II. 3.0 Semester Hrs.

This course explores how computer networking is evolving to support new environments, and challenges in building networked systems that are simultaneously highly robust, efficient, flexible, and secure. Detailed topics include wireless and mobile networks, multimedia networking, and network security. In addition, recent research and developments are also studied, which include mobile sensing, Internet of Things (IoT), social computing and networks, mobile ad-hoc networks, wireless sensor networks, software defined networking, and future Internet architecture. Prerequisite: CSCI262 or equivalent or instructor consent.

CSCI573. HUMAN-CENTERED ROBOTICS. 3.0 Semester Hrs.

Equivalent with CSCI473,
(II) Human-centered robotics is an interdisciplinary area that bridges research and application of methodology from robotics, machine vision, machine learning, human-computer interaction, human factors, and cognitive science. Students will learn about fundamental research in human-centered robotics, as well as develop computational models for robotic perception, internal representation, robotic learning, human-robot interaction, and robot cognition for decision making. Students in CSCI 473 will be able to model and analyze human behaviors geared toward human-robot interaction applications. They will also be able to implement a working system using algorithms learnt to solve a given problem in human-centered robotics application. Students in CSCI 573 will get a more in-depth study into the theory of the algorithms. They will be able to compare the different algorithms to select the most appropriate one that can solve a specific problem. Prerequisites: CSCI262 and MATH201. 3 hours lecture; 3 semester hours.

CSCI574. THEORY OF CRYPTOGRAPHY. 3.0 Semester Hrs.

Equivalent with MATH574,
(I) Students will draw upon current research results to design, implement and analyze their own computer security or other related cryptography projects. The requisite mathematical background, including relevant aspects of number theory and mathematical statistics, will be covered in lecture. Students will be expected to review current literature from prominent researchers in cryptography and to present their findings to the class. Particular focus will be given to the application of various techniques to real-life situations. The course will also cover the following aspects of cryptography: symmetric and asymmetric encryption, computational number theory, quantum encryption, RSA and discrete log systems, SHA, steganography, chaotic and pseudo-random sequences, message authentication, digital signatures, key distribution and key management, and block ciphers. Prerequisite: CSCI262. 3 hours lecture, 3 semester hours.

CSCI575. MACHINE LEARNING. 3.0 Semester Hrs.

(I) The goal of machine learning research is to build computer systems that learn from experience and that adapt to their environments. Machine learning systems do not have to be programmed by humans to solve a problem; instead, they essentially program themselves based on examples of how they should behave, or based on trial and error experience trying to solve the problem. This course will focus on the methods that have proven valuable and successful in practical applications. The course will also contrast the various methods, with the aim of explaining the situations in which each is most appropriate. Prerequisite: CSCI262, MATH201, MATH332.

CSCI576. WIRELESS SENSOR SYSTEMS. 3.0 Semester Hrs.

With the advances in computational, communication, and sensing capabilities, large scale sensor-based distributed environments are becoming a reality. Sensor enriched communication and information infrastructures have the potential to revolutionize almost every aspect of human life benefitting application domains such as transportation, medicine, surveillance, security, defense, science and engineering. Such a distributed infrastructure must integrate networking, embedded systems, distributed computing and data management technologies to ensure seamless access to data dispersed across a hierarchy of storage, communication, and processing units, from sensor devices where data originates to large databases where the data generated is stored and/or analyzed. Prerequisite: CSCI406, CSCI446, CSCI471. 3 hours lecture; 3 semester hours.

CSCI578. BIOINFORMATICS. 3.0 Semester Hrs.

Bioinformatics is a blend of multiple areas of study including biology, data science, mathematics and computer science. The field focuses on extracting new information from massive quantities of biological data and requires that scientists know the tools and methods for capturing, processing and analyzing large data sets. Bioinformatics scientists are tasked with performing high-throughput, next-generation sequencing. They analyze DNA sequence alignment to find mutations and anomalies and understand the impact on cellular processes. The bioinformatician uses software to analyze protein structure and its impact on cell function. Learning how to design experiments and perform advanced statistical analysis is essential for anyone interested in this field, which is main goal of this course.

CSCI580. ADVANCED HIGH PERFORMANCE COMPUTING. 3.0 Semester Hrs.

This course provides students with knowledge of the fundamental concepts of high performance computing as well as hands-on experience with the core technology in the field. The objective of this class is to understand how to achieve high performance on a wide range of computational platforms. Topics will include sequential computers including memory hierarchies, shared memory computers and multicore, distributed memory computers, graphical processing units (GPUs), cloud and grid computing, threads, OpenMP, message passing (MPI), CUDA (for GPUs), parallel file systems, and scientific applications. 3 hours lecture; 3 semester hours.

CSCI581. QUANTUM PROGRAMMING. 3.0 Semester Hrs.

This course serves as an introduction to programming quantum computers. Students will receive an in depth education in quantum algorithms and their design, and then break into teams to learn the API of a commercially available quantum computing system. They will use this system to write and test simple quantum algorithms, and debug their code to improve its performance against noise and other error sources. Prerequisite: PHGN519.

CSCI585. INFORMATION SECURITY PRIVACY. 3.0 Semester Hrs.

(II) This course provides an introduction to the principles and best practices in information security and privacy. Lectures will include basic concepts of information security and privacy, fundamental security design principles, major topics in security and privacy, essential knowledge and skills, risk assessment and mitigation, policy development, and so on. In the classroom, students will also present and discuss a list of recent or classic research papers corresponding to the major topics in security and privacy. Outside of the classroom, students will work on homework assignments, security lab exercises, quizzes, research paper summaries, and a course project. Prerequisite: CSCI262, CSCI341. 3 hours lecture; 3 semester hours.

CSCI587. CYBER PHYSICAL SYSTEMS SECURITY. 3.0 Semester Hrs.

(II) This course aims to build a solid foundation for students to identify, analyze, and evaluate real-world security and privacy problems in Cyber Physical Systems, as well as to design and develop secure and usable solutions for addressing these problems. It focuses on the important security and privacy research topics in representative Cyber Physical Systems such as wireless sensor networks, smart grids, autonomous automotive systems, and robotic systems. It also includes the discussion of the protection of the nation?s critical infrastructures such as Food, Health, Water, Energy, Finance, Communication, Manufacturing, Government, and Transportation. The format of the course includes introductory discussions, research paper reading, summaries, and discussions, as well as research projects. 3 hours lecture; 3 semester hours.

CSCI598. SPECIAL TOPICS. 6.0 Semester Hrs.

(I, II, S) Pilot course or special topics course. Topics chosen from special interests of instructor(s) and student(s). Usually the course is offered only once, but no more than twice for the same course content. Prerequisite: none. Variable credit: 0 to 6 credit hours. Repeatable for credit under different titles.

CSCI599. INDEPENDENT STUDY. 0.5-6 Semester Hr.

(I, II, S) Individual research or special problem projects supervised by a faculty member, also, when a student and instructor agree on a subject matter, content, and credit hours. Prerequisite: ?Independent Study? form must be completed and submitted to the Registrar. Variable credit: 0.5 to 6 credit hours. Repeatable for credit under different topics/experience and maximums vary by department. Contact the Department for credit limits toward the degree.

CSCI691. GRADUATE SEMINAR. 1.0 Semester Hr.

Presentation of latest research results by guest lecturers, staff, and advanced students. Prerequisite: none. 1 hour seminar; 1 semester hour. Repeatable for credit to a maximum of 12 hours.

CSCI692. GRADUATE SEMINAR. 1.0 Semester Hr.

Equivalent with MATH692,
Presentation of latest research results by guest lecturers, staff, and advanced students. Prerequisite: none. 1 hour seminar; 1 semester hour. Repeatable for credit to a maximum of 12 hours.

CSCI693. WAVE PHENOMENA SEMINAR. 1.0 Semester Hr.

Students will probe a range of current methodologies and issues in seismic data processing, with emphasis on underlying assumptions, implications of these assumptions, and implications that would follow from use of alternative assumptions. Such analysis should provide seed topics for ongoing and subsequent research. Topic areas include: Statistics estimation and compensation, deconvolution, multiple suppression, suppression of other noises, wavelet estimation, imaging and inversion, extraction of stratigraphic and lithologic information, and correlation of surface and borehole seismic data with well log data. Prerequisite: none. 1 hour seminar; 1 semester hour.

CSCI698. SPECIAL TOPICS. 6.0 Semester Hrs.

(I, II, S) Pilot course or special topics course. Topics chosen from special interests of instructor(s) and student(s). Usually the course is offered only once, but no more than twice for the same course content. Prerequisite: none. Variable credit: 0 to 6 credit hours. Repeatable for credit under different titles.

CSCI699. INDEPENDENT STUDY. 0.5-6 Semester Hr.

(I, II, S) Individual research or special problem projects supervised by a faculty member, also, when a student and instructor agree on a subject matter, content, and credit hours. Prerequisite: ?Independent Study? form must be completed and submitted to the Registrar. Variable credit: 0.5 to 6 credit hours. Repeatable for credit under different topics/experience and maximums vary by department. Contact the Department for credit limits toward the degree.

CSCI700. MASTERS PROJECT CREDITS. 1-6 Semester Hr.

(I, II, S) Project credit hours required for completion of the non-thesis Master of Science degree in Computer Science (Project Option). Project under the direct supervision of a faculty advisor. Credit is not transferable to any 400, 500, or 600 level courses. Repeatable for credit.

CSCI707. GRADUATE THESIS / DISSERTATION RESEARCH CREDIT. 1-15 Semester Hr.

(I, II, S) GRADUATE THESIS/DISSERTATION RESEARCH CREDIT Research credit hours required for completion of a Masters-level thesis or Doctoral dissertation. Research must be carried out under the direct supervision of the student’s faculty advisor. Variable class and semester hours. Repeatable for credit.

 Colorado ResidentOut-of-State Student
Tuition**$17,154$38,466
Fees*$2,378$2,378
Room & Board$16,700$16,700
Books & Supplies$1,500$1,500
Misc. Expenses$1,800$1,800
Transportation$1,300$1,300
Total$41,013$62,325
**Cost per credit hour$1,087$2,269

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

Student Testimonial

Natalie Kalin

With the combined program here at Mines, it is easy for me to obtain both an undergrad and master’s degree in only five years. Furthermore, after having an excellent undergraduate experience, it solidified my choice to obtain my master’s.

Natalie Kalin
Computer Science

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

Resources

Our Home is Golden

See what it’s like to live in one of the country’s best small towns, with easy access to the great outdoors and the thriving hub that is Denver.

Quick Tour

From high above and on the ground, see what makes Colorado School of Mines, its campus and its people special.

Connecting to your Future

Mines students are top of the list for industry recruiters—find out what makes our grads special and how we help you on your journey.