BS+MS in Computer Science

The Department of Computer Science is pleased to offer students the opportunity to earn both a Bachelor of Science (BS) and a Master of Science (MS) degree simultaneously.

Features of the Combined Program

  • The CS@Mines Combined Program is for students who earn a bachelor’s degree at Mines.
  • 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
    • If you haven’t completed these five pre-requisite courses, you may be a good candidate for CS@Mines Bridge. CS@Mines Bridge provides a direct path to a CS Master’s degree for non-CS majors. Students in the CS@Mines Bridge cohort will complete foundational undergraduate courses in one year to prepare for Master’s level coursework. Learn more about CS@Mines Bridge.
  • Students may be able to complete a Non-Thesis or Thesis MS in at least one additional year to the BS. Under the Combined Program, students may double count two courses (CSCI406 and CSCI442, or one of these and one additional CSCI 400-level course) toward both degrees with grades of B- or better. If double counting, only 24 additional credit hours are needed to complete the MS degree.
  • The CS MS degree requires 30 credit hours and has three possible tracks: Non-Thesis Coursework, Non-Thesis Project, and Thesis:
    • MS Non-Thesis Coursework: Requires 30 credit hours of coursework.
    • MS Non-Thesis Project: Requires 24 credit hours of coursework and 6 credit hours of project work. Project deliverables are a report and presentation to a committee of two CS faculty including the student’s advisor.
    • MS-Thesis: Requires 21 credit hours of coursework and 9 credit hours of thesis research leading to an acceptable Master’s thesis, which includes a thesis and presentation to a committee of three CS faculty including the student’s advisor.

Required Courses For All MS Tracks:

  • CSCI 406: Algorithms (offered every semester)
  • CSCI 442: Operating Systems (offered every semester)
  • CSCI 561: Theory of Computation (offered every fall)
  • CSCI 564: Advanced Computer Architecture (offered every spring)

The remaining credits are completed as detailed in the CS Graduate Catalog. All MS students are allowed to complete up to 6 elective credits outside the CS department to customize the degree to your interests and goals. Non-Thesis students must complete at least 12 credits of CSCI 500-level courses.

Admission Criteria

  • Current Mines undergraduate students are encouraged to apply for the combined program once they have taken five or more 200-level or above Computer Science classes at Mines, excluding CSCI274CSCI370CSCI499. Classes transferred from other universities will not be considered. .
  • Students should have an overall GPA of at least 2.5 and a GPA of 3.2 for courses in computer science. The calculation of GPA in computer science will be based on all 200-level or above CSCI courses except those excluded above (i.e., CSCI274CSCI370 and CSCI499). If a course is taken multiple times, all of the grades will be included into the GPA calculation.
  • Interested students with a lower GPA must include in their statement of goals/personal statement a section explaining why they should be admitted to the program.

Application Procedure

  • Complete the Online Application and indicate that you are a current Mines student.
  • Entry Term: The entry term should be the semester that you intend to begin taking graduate-level coursework (500-level or higher courses), regardless of when you plan to complete your BS degree.
  • Application Fee: Mines undergraduates must pay a discounted application fee.
  • GRE: Combined degree applicants are not required to submit GRE scores. The application field can be left blank.
  • Letters of recommendation: Combined degree applicants are not required to submit letters of recommendation. The application system currently requires letters of recommendation, even though our department does not. You will need to enter a first and last name for the recommender (doesn’t have to be real, you could use ‘a’ for first name and ‘b’ for last name).
  • Transcripts: Students must submit a transcript. An unofficial transcript downloaded from Trailhead meets this requirement.
  • Statement of Purpose:
    • MS Non-Thesis applicants (coursework or project tracks) who meet the GPA requirements do not need to write a unique “Statement of Goals” for the application. To ensure that your application will be correctly processed, the Statement of Goals should be: “I am currently a Mines undergraduate. I meet the gpa requirements. I would like to apply for the Combined B.S./M.S. program in computer science.” Also, please indicate if you are requesting a specific faculty advisor.
    • MS Thesis applicants should write a Statement of Goals explaining your research interests and if you are requesting a specific faculty advisor.
    • Students who do not meet the GPA requirements must submit an essay to explain why they have a low GPA and to provide convincing arguments for their ability to do graduate level work.

Taking 500-Level Courses

  • Students should apply and be admitted to the CS Graduate program before registering for 500-level courses. You must be admitted by Census Day of the semester you begin to take graduate courses to place them on your graduate transcript.
  • Undergraduate students must complete the 500-level Course Form to register for graduate courses. You are encouraged to meet with the CS Graduate Program Manager to complete the form and discuss the registration process. Schedule an appointment at
  • If prior consent is not received or if the student has not been admitted as a combined program student, all 500-level graduate courses taken as an undergraduate Combined Degree Program student will be applied to the student’s undergraduate degree transcript. If these are not used toward an undergraduate degree requirement, they may, with program consent, be applied to a graduate degree program as transfer credit. Note that MS students are limited to a maximum of 9 transfer credits.
  • Some courses within Computer Science are co-taught as 400/500 level (e.g., CSCI474/CSCI574). Since there are a limited number of graduate courses offered each semester, students who want to pursue the combined master’s should enroll in these courses at the 500 level. Students are not allowed to enroll in both instances of a cross-listed course.

Financial Aid

  • Courses taken as an undergraduate student but applied directly toward a graduate degree are not eligible for undergraduate financial aid or the Colorado Opportunity Fund. You are encouraged to meet with Financial Aid to discuss any possible repercussions.
  • Upon completion of their undergraduate degree requirements, a Combined Degree Program student is considered enrolled full-time in their graduate program. Once having done so, the student is no longer eligible for undergraduate financial aid, but may now be eligible for graduate financial aid.


  • Students should apply for the MS degree to begin the semester that they want to begin taking 500-level courses towards the graduate degree only, even if that is before their undergraduate degree is completed.
  • To complete their graduate degree, each Combined Degree Program student must register as a graduate student for at least one semester beyond the completion of their undergraduate degree.
  • Note that there is no requirement to finish in five years, so students may follow a more typical undergraduate schedule and take extra time to complete the MS degree.


Contact the CS Graduate Program Manager, at, or schedule an advising appointment at