Graduate Program

The Department of Computer Science offers the degrees Master of Science and Doctor of Philosophy in Computer Science. The master’s program is designed to prepare candidates for careers in industry or government or for further study at the Ph.D. level; both thesis and non-thesis options are available. The PhD degree program is sufficiently flexible to prepare candidates for careers in industry, government, or academia. These degree programs demand academic rigor and depth yet also address real-world problems.

CS@Mines has eight areas of research activity that stem from the core fields of Computer Science:

  • Algorithmic Robotics
  • Applied Algorithms 
  • Augmented Reality
  • CS For All
  • Cybersecurity
  • High Performance Computing
  • Machine Learning
  • Networked Systems

Additionally, students may study areas such as Embedded Systems and/or Robotics, which include elements from both Computer Science and Electrical Engineering disciplines. In many cases, individual research projects encompass more than one research area.

Combined Program

We also offer combined BS/MS degree programs. These programs offer an expedited graduate school application process and allow students to begin graduate coursework while still finishing their undergraduate degree requirements. This program is described in the undergraduate catalog and more information can be found at CS BS+MS.

The Computer Science Graduate Committee review applications for admission for the Fall and Spring semesters. Applicants must have a complete application submitted to the Graduate School by the posted admission deadlines to be considered for admission. We strongly encourage you to meet the Fall admission priority deadline of January 5 if you are applying to a thesis-based degree and seeking funding. Fall admission with funding decisions are typically determined by mid-February. The minimum requirements for admission to the MS and PhD degrees in Computer Science are:

  • A baccalaureate degree with a grade-point average of 3.0 or better on a 4.0 scale.
  • Students are expected to have completed two semesters of calculus, along with courses in object-oriented programming and data structures, and upper level courses in at least three of the following areas: software engineering, numerical analysis, computer architecture, principles of programming languages, analysis of algorithms, and operating systems.
  • Students planning an MS in CS will be required to complete (or show knowledge of) the following foundational courses in CS:
    • CSCI 261: Programming Concepts
    • CSCI 262: Data Structures
    • CSCI 306: Software Engineering
    • CSCI 341: Computer Organization
    • CSCI 358: Discrete Mathematics
  • Graduate Record Examination (Quantitative section) score of 151 or higher (or 650 on the old scale). Applicants who have graduated with an engineering degree from Mines within the past five years are not required to submit GRE scores.
  • TOEFL score of 79 or higher (or 550 for the paper-based test or 213 for the computer-based test) for applicants whose native language is not English. In lieu of a TOEFL score, an IELTS score of 6.5 or higher will be accepted.
  • For the PhD program, prior research experience is desired but not required.

The CS Graduate Committee may require that an admitted student take undergraduate remedial coursework to overcome technical deficiencies. The committee will decide whether to recommend regular or provisional admission. Below are the application packet requirements required by the Graduate School at Colorado School of Mines.

Learn more about the graduate admission requirements and completing an online application. Additionally, questions can be directed to the Graduate Program Manager at or at 303-273-3658.

The master’s program is designed to prepare candidates for careers in industry or government or for further study at the PhD level. Following is a summary of the Master of Science Program with a specialty in Computer Science. Additional information on Graduate School Requirements can be found in the Graduate Catalog.

Degree Options

MS Degree

The M.S. degree in Computer Science (Thesis or Non-Thesis option) requires 30 credit hours. Requirements for the thesis M.S. are 21 hours of coursework plus 9 hours of thesis credit leading to an acceptable Master’s thesis; thesis students are encouraged to find a thesis advisor and form a Thesis Committee by the end of the first year.

The non-thesis option consists of two tracks: a Project Track and a Coursework Track.  Requirements for the Project Track are 24 hours of coursework plus 6 hours of project credit; requirements for the Coursework Track are 30 hours of coursework.  

The following four core courses are required of all students. Students may choose elective courses from any CSCI graduate course offered by the Department. In addition, up to six credits of elective courses may be taken outside of CSCI. Lastly, a maximum of six Independent Study course units can be used to fulfill degree requirements.

Combined BS+MS Degree

Students can also earn a Bachelor of Science (BS) and a Master of Science (MS) degree simultaneously through the Combined Degree BS + MS degree. Normally a Master’s Degree requires 30 credit hours and takes two years to complete. Under the Combined Program, students will count two courses (CSCI406 and CSCI442) toward both degrees, and 24 additional credit hours are needed to complete the degree. One additional 400-level course may be counted toward the graduate degree, if the course is not counted towards the undergraduate degree. Students selecting the Thesis option will be required to complete 21 hours of coursework and a thesis (9 credit hours). Students selecting the Non-Thesis option will be required to complete 30 credit hours of coursework. There are two required graduate-level courses: CSCI564 (Advanced Architecture) and CSCI561 (Theory of Computation). The remaining courses are all electives except for the double counted courses.

Required Courses

  • CSCI406 Algorithms
  • CSCI442 Operating Systems
  • CSCI561 Theory of Computation
  • CSCI564 Advanced Computer Architecture

MS Project Track

Students are required to take 6 credits of CSCI700 to fulfill the MS project requirement. (It is recommended that the 6 credits consist of two consecutive semesters of 3 credits each.) At most 6 hours of CSCI700 will be counted toward the Masters non-thesis degree. Deliverables include a report and a presentation to a committee of two CS faculty including the Advisor (at least one committee member must be a CS faculty member). Deliverables must be successfully completed in the last semester in which the student registers for CSCI700. A student must receive two “pass” votes (i.e., a unanimous vote) to satisfy the project option.

MS Thesis Defense

At the conclusion of the MS (Thesis Option), 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 an MS degree.

The PhD degree in Computer Science requires 72 credit hours of course work and research credits. Required course work provides a strong background in computer science. A course of study leading to the PhD degree can be designed either for the student who has completed the master’s degree or for the student who has completed the bachelor’s degree. The following five courses are required of all students. Students who have taken equivalent courses at another institution may satisfy these requirements by transfer.

  • CSCI406 Algorithms
  • CSCI442 Operating Systems
  • CSCI561 Theory of Computation
  • CSCI564 Advanced Computer Architecture
  • SYGN502 Introduction to Research Ethics

PhD Qualifying Examination

Students desiring to take the Ph.D. Qualifying Exam must have: (if required by your advisor) taken SYGN 501 The Art of Science (previously or concurrently), taken 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 during the fourth semester of study. Exception must be formally requested via an 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 two research areas, chosen by the student. The exam consists of the following steps:

Step 1. A student indicates intention to take the CS PhD Qualifying Exam by choosing two research interest areas.

  • The primary test area should be the same as the research area of the student’s (potential) advisor.  This exam will be more open-ended research than the second test area.  A formal written report and a formal presentation meeting are required for this exam.  The outcome of this exam can be part of the student’s dissertation research.  In fact, the student is strongly encouraged to create results that can lead to a publication.  It is acceptable and encouraged if the advisor is involved to provide suggestions. The student is required to clearly document in the written report how the advisor was involved in the exam.
  • The second test area should be from another research area of interest to the student that is (1) supported by faculty within the CS department and (2) different from the student’s primary advisor’s research area.  It is highly recommended that the student choose their secondary test area with an instructor the student has had in one or more courses.  This exam will likely be less substantial than the primary exam, e.g., instructions will be more concrete. The purpose of having a second test area is to ensure students can demonstrate both the breadth of knowledge and the capability in doing independent research. Thus, no faculty member is allowed to assist the student in this second exam except for answering clarification questions.

Students must inform the CS Graduate Committee Chair of their intention to take the qualifying exam no later than the first class day of the semester.

Step 2. The Graduate Committee Chair creates an exam committee of (at least) four appropriate faculty. The exam committee assigns the student specific tasks with corresponding deliverables for both research areas chosen. The tasks will be some combination from the following list:

  • design and evaluate new algorithms or systems for an important research problem, and write a report that summarizes the design and the evaluation results;
  • read a set of technical papers, write a summary of the papers read, make a presentation, and answer questions (presentations will be limited to 30-minutes with a hard stop not including Q&A);
  • complete a hands-on activity (e.g., develop research software) and write a report that explains the difficulties with the activity and what was learned;
  • complete a set of take-home problems;
  • write a literature survey (i.e., track down references, separate relevant from irrelevant papers).

Step 3. The student must complete all deliverables no later than the Monday of Dead Week (11:59pm). Failure to meet the deadline is considered a failed attempt. The submitted report on the deadline is considered to be final, i.e., no update is allowed after the due date/time.  Before the oral presentation, the student is not allowed to practice the exam presentation with his/her advisor or research group to get feedback. The student will access exam problems, and submit deliverables through a specified system such as Canvas course/module.  Additionally, the specified system will be used to deliver feedback from the committee to the student outlining strengths, weaknesses, recommendations and exam results.

Step 4. Each member of the exam committee makes a recommendation on the deliverables from the following list: strongly support, support, and do not support. To pass the Ph.D. Qualifying Exam, the student must have at least two “strongly supports” and no more than one “do not support”.  If a student receives two or more “do not support” votes by the committee members, the student fails the exam. All other cases other than Pass or Fail are considered as Conditional Pass.

Conditional Pass requirements If a student receives a Conditional Pass, the student is required to take (an) additional test(s).  The exam committee will explicitly specify the deadline for the student to take the additional test in the feedback comments to the student. The deadline will likely be at the beginning weeks of the following semester. The additional test(s) may be the whole or part(s) of the original qualifying exam or may be an additional task, as determined by the exam committee. If the student passes the assigned additional test, the Conditional Pass will be converted into a Pass; otherwise, the outcome of the qualifying exam will be a Fail.

The student is informed of the qualifying exam decision (Pass, Fail, or Conditional Pass) no later than the Monday after finals week. The student is informed of the outcome of a Conditional Pass test within two weeks after the test. A student can only fail the exam one time. If a second failure occurs, the student has unsatisfactory academic performance that results in an immediate, mandatory dismissal of the graduate student from the Ph.D. program.

PhD Thesis Proposal

After passing the Qualifying Examination, the Ph.D. 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 Ph.D. program.

  • Have a Thesis Committee appointment form on file in the Graduate Office
  • Have passed the Ph.D. 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.


CSCI-507 – Introduction to Computer Vision

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.

CSCI508. Advanced Topics In Perception and Computer Vision

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.

CSCI-522 – User Interface Design (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 (SIGCSE, SIGCHI, etc.). Prerequisite: CSCI261 or equivalent. 3 hours lecture, 3 semester hours.

CSCI-542 – Simulation (Offered every other year.)

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: CSCI262 (or equivalent), CSCI323 (or CSCI530 or equivalent), or permission of instructor. 3 hours lecture; 3 semester hours.

CSCI-544 – Advanced Graphics (II)

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. Prerequisite: CSCI441 or permission of instructor. 3 hours lecture; 3 semester hours.

CSCI-547 – Scientific Visualization (II)

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. Prerequisite: CSCI 262 and CSCI 441 or permission of instructor. 3 hours lecture, 3 semester hours.

CSCI-561 – Theoretical Foundations of Computer Science (I)

Mathematical foundations of computer science. Models of computation, including automata, pushdown automata and Turing machines. Language models, including alphabets, strings, regular expressions, grammars, and formal languages. Predicate logic. Complexity analysis. Prerequisite: CSCI262, MATH/CSCI358. 3 hours lecture; 3 semester hours.

CSCI-562 – Applied Algorithms & Data Structures (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, or consent of instructor. 3 hours lecture; 3 semester hours.

CSCI-563 – Parallel Computing for Scientists and Engineers (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, consent of instructor. 3 hours lecture; 3 semester hours

CSCI-564 – Advanced Computer Architecture (I)

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, or consent of instructor. 3 hours lecture; 3 semester hours.

CSCI-565 – Distributed Computing Systems (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. Prerequisite: CSCI442 or consent of instructor. 3 hours lecture; 3 semester hours.

CSCI-568 – Data Mining (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 application-specific 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 or permission of instructor. 3 hours lecture; 3 semester hours.

CSCI-571 – Artificial Intelligence (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.

CSCI-572 – Computer Networks II (I)

This course covers the network layer, data link layer, and physical layer of communication protocols in depth. Detailed topics include routing (unicast, multicast, and broadcast), one hop error detection and correction, and physical topologies. Other topics include state-of-the-art communications protocols for emerging networks (e.g., ad hoc networks and sensor networks). Prerequisite: CSCI471 or equivalent or permission of instructor. 3 hours lecture; 3 semester hours.

CSCI-575 – Machine Learning (II)

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 and MATH201, or consent of instructor. 3 hours lecture; 3 semester hours.

CSCI-576 – Wireless Sensor Systems (II)

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, or consent of instructor. 3 hours lecture; 3 semester hours.

CSCI-580 – Advanced High Performance Computing (I)

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

CSCI-586 – Fault Tolerant Computing (II)

This course provides a comprehensive overview of fault tolerant computing including uniprocessor fault tolerance, distributed fault tolerance, failure model, fault detection, checkpoint, message log, algorithm-based fault tolerance, error correction codes, and fault tolerance in large storage systems. 3 hours lecture; 3 semester hours

CSCI-598 – Special Topics (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. Prerequisite: Instructor consent. Variable credit; 1 to 6 credit hours. Repeatable for credit under different titles.

CSCI-599 – Independent Study (I, II, S)

Individual research or special problem projects supervised by a faculty member, 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; 1 to 6 credit hours. Repeatable for credit.

CSCI-691 – Graduate Seminar (I)

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

CSCI-692 – Graduate Seminar (II)

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

CSCI-698 – Special Topics (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. Prerequisite: Instructor consent. Variable credit; 1 to 6 credit hours. Repeatable for credit under different titles.

CSCI-699 – Independent Study (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; 1 to 6 credit hours. Repeatable for credit.

CSCI-700 – Masters Project Credits (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.

CSCI-707 – Graduate Thesis (I, II, S)

Research credit hours required for completion of a graduate degree. Research must be carried out under the direct supervision of the graduate student’s faculty advisor. Prerequisite: none. Repeatable for credit.

New Student Information

  • Need help or have questions? Contact the CS Graduate Program Manager at or 303-273-3658.
  • Graduate Student Listserv:  All current students are subscribed to the CS Graduate Student Listserv – Watch for important messages from the department!
  • Mailboxes: All enrolled graduate students have a mailbox in BB W350.

Resources and Information

Academic Calendar

The Academic Calendar provides important deadline information enforced by Mines.

Advisor and Thesis Committee

Students must have an Advisor from the CS faculty to direct and monitor their academic plan, research, and independent studies. Advisors must be full-time permanent members of the faculty. A list of CS faculty by rank is available in the faculty section of the catalog. Master of Science (thesis option) students in CS must have at least three members on their Thesis Committee; the Advisor and one other member must be permanent faculty in the CS Department. CS Ph.D. Thesis Committees must have at least four members; the Advisor/co-advisor and two additional members must be permanent faculty in the CS Department, and one member must be outside the departmental faculty and serving as chair of the committee. Students who choose to have a minor program must select a representative from the minor area of study to serve on the Thesis Committee.

Degree Audit and Admission to Candidacy

Master’s students must complete the Degree Audit form by the posted deadline. Ph.D. students need to submit the Degree Audit form by the posted deadline and need to submit the Admission to Candidacy form by the first day of classes of the semester in which they want to be considered eligible for reduced registration or graduate.

Department Seminars

CS graduate seminars are typically held on Thursdays at 4:00pm. Watch for email announcements. All graduate students are EXPECTED to attend graduate seminars hosted by the CS Department.

Financial Aid

In some cases CS will be able to provide financial aid for its full-time graduate students, in the form of a Teaching Assistant (TA) or Research Assistant (RA) appointment. The amount and financial aid conditions when applicable are clearly specified in your acceptance letter. Normally, financial aid is not offered to provisionally accepted students or non-thesis MS students. If a non-thesis MS student decides to switch to the thesis option, he or she may become eligible for financial aid.


The Office of Graduate Studies creates and maintains graduate student forms. All forms need to be filled out electronically and then printed. Obtain appropriate signatures and submit to the CS Graduate Program Manager for Department Head signature.

Funded Student Requirements

If you are a funded student on an RA or TA contract you must complete several university ethics and training requirements. See the CS Graduate Program CANVAS page for more information.

Graduate Catalog

The Graduate Catalog provides academic policies and program requirements. This is an important resource for all students.

Independent Study

A maximum of six credit hours of Independent Study can be applied to fulfill degree requirements. The Independent Study form  requires student, faculty, and Department Head signature.


The CS Faculty will host graduate student mentoring seminars/sessions to support graduate students throughout their academic studies. Look for email announcements!

Quick Reference Guide

The Quick Reference Guide found on the Graduate Studies webpage is you one-stop location to obtaining information on registration requirements, grade requirements, transfer of credit, minor requirements, thesis requirements, graduation information, forms and more.

Registration Policy

Please be sure you are following the registration policy outlined within the Graduate Bulletin. The registration policies document  provides a quick reference.

Time Limit

As stipulated by the Mines Graduate School, a candidate for a Masters degree must complete all requirements for the degree within five years of the date of admission into the degree program. A candidate for a doctoral degree must complete all requirements for the degree within nine years of the date of admission into the degree program.

Transfer of Credit

Graduate level courses taken at other universities for which a grade equivalent to a “B” or better was received will be considered for transfer credit with approval of the Advisor and/or Thesis Committee, and CS Department Head, as appropriate.  Transfer credits must not have been used as credit toward a Bachelor degree. For the M.S. degree, no more than nine credits may transfer. For the Ph.D. degree, up to 24 credit hours may be transferred. In lieu of transfer credit for individual courses, students who enter the Ph.D. program with a thesis-based master’s degree from another institution may transfer up to 36 hours in recognition of the course work and research completed for that degree.

Tuition and Fees

Graduate cost of attendance information is found under Financial Aid.

400-level courses

Graduate students can apply 9 credits of 400-level courses toward their degree requirements. In order to register, you must email the Registrar at to have the pre-requisite requirement overridden.

AAAS Science & Technology Policy Fellowships

Since 1981, EPA’s NCER has managed the AAAS Science and Engineering Fellows Program, in cooperation with the American Association for the Advancement of Science (AAAS). The fellowship program is designed to provide an opportunity to learn first-hand how scientific and technological information is used in environmental policy-making; to provide a unique public policy learning experience; to demonstrate the value of science, technology, and economics in addressing societal problems; and to make practical contributions to the more effective use of scientific and technical knowledge in the programs of the U.S. government. Fellows will work in offices throughout the EPA on projects of mutual interest to the Fellows and the hosting offices. Applications are accepted by AAAS in the fall of each year. Must hold a doctoral level degree and be a US Citizen. Engineering disciplines (applicants with a MS in engineering and three or more years of professional experience also qualify.

Computing-Mines Affiliates Partnership Program

The C-MAPP program is designed to improve relationships between inudstry and computer science at Mines, while also providing opportunities that will help Mines computing students ‘mapp’ their careers. C-MAPP Partners have a professional interest in the well being of computing at Mines. C-MAPP is a program for companies that are interested in (1) giving back, (2) helping the students at Mines, (3) networking with the students at Mines, and/or (4) increasing diversity in computing.

Amelia Earhart Fellowship

Today, women remain a distinct minority in science and engineering, representing approximately 10 percent of professionals in these fields. The Amelia Earhart Fellowship program helps talented women, pursuing advanced studies in the typically male-dominated fields of aerospace-related sciences and engineering, achieve their educational goals. The Fellowship enables these women to invest in state-of-the-art computers to conduct their research, purchase expensive books and resource materials, and participate in specialized studies around the globe.


GEM’s fellowship programs span the entire recruitment, retention, and professional development spectrum. GEM’s principal activity is the provision of graduate fellowships at the MS and Ph.D. levels coupled with paid summer internships. GEM also offers programming on the importance of graduate school and tools for access and successful matriculation.

GSG grant

Graduate Continuance Fellowship, GSG Lecture Series Grant, Meeting Attendee Travel Grant, Presenter Travel Grant, UG travel Grant, and Family Assistance Grant.

IBM Ph.D. Fellowship Awards Program

The IBM Ph.D. Fellowship Awards Program is an intensely competitive worldwide program, which honors exceptional Ph.D. students who have an interest in solving problems that are important to IBM and fundamental to innovation in many academic disciplines and areas of study. These include: computer science and engineering (including cyber security, cloud, and mobile computing), electrical and mechanical engineering, physical sciences (including chemistry, material sciences, and physics), mathematical sciences (including analytics of massive scale data with uncertainty, operations research, and optimization), public sector and business sciences (including urban policy and analytics, social technologies, learning systems and natural language understanding), and service science, management, and engineering (SSME).


IEEE offers a variety of scholarships, grants, and fellowships for IEEE Student members. Submit a project or paper for consideration and have the opportunity to win and gain peer recognition for your effort. Terms and conditions may apply.


NASA is an investment in America’s future. Our activities contribute to the achievement of the Nation’s science and technology goals and priorities, one of which is “Educational Excellence: We involve the education community in our endeavors to inspire America’s students, create learning opportunities, and enlighten inquisitive minds.” NASA uses its unique resources to support educational excellence for all. This vision guides all NASA activities and programs, and guides the unique contribution that our Education Program provides to America’s education community.

National Defense Science and Engineering Fellowships

As a means of increasing the number of U.S. citizens and nationals trained in science and engineering disciplines of military importance, the Department of Defense (DoD) plans to award approximately 200 new three-year graduate fellowships in April 2014, subject to the availability of funds. The DoD will offer these fellowships to individuals who have demonstrated the ability and special aptitude for advanced training in science and engineering

National Science Foundation Graduate Research Fellowship Program

The National Science Foundation’s Graduate Research Fellowship Program (GRFP) helps ensure the vitality of the human resource base of science and engineering in the United States and reinforces its diversity. The program recognizes and supports outstanding graduate students in NSF-supported science, technology, engineering, and mathematics disciplines who are pursuing research-based masters and doctoral degrees at accredited US institutions. The NSF welcomes applications from all qualified students and strongly encourages under-represented populations, including women, under-represented racial and ethnic minorities, and persons with disabilities, to apply for this fellowship.

SAE Doctoral forgivable loan program

The purpose of the SAE Doctoral Scholars Program, now in its 16th year, is to provide funding to assist and encourage promising engineering graduate students to pursue careers in teaching at the college level. The program is designed to help alleviate the increasing shortage of engineering college faculty by attracting qualified citizens of North America (United States, Canada, and Mexico) who are interested in pursuing teaching careers, through the promise of financial assistance during their doctoral study program.

Smart fellowships

The SMART Program aims to increase the number of scientists and engineers in the DoD. The program is particularly interested in supporting individuals that demonstrate an aptitude and interest in conducting theoretical and applied research. As such, the program primarily targets “hand-on-the-bench” researchers and engineers. Individuals applying to the program should have a strong interest in working for the DoD as a civilian research scientist or engineer.

Society of Women Engineers

The Society of Women Engineers strives to advance and honor the contributions of women at all stages of their careers as well as recognize the successes of SWE members and individuals who enhance the engineering profession through contributions to industry, education and the community.