To earn an MCDS degree, you must pass courses in the core curriculum, the MCDS seminar, a concentration area and electives. You must also complete a capstone project in which you work on a research project at CMU or on an industry-sponsored project. In total, you will complete 144 eligible units of study, including eight 12-unit courses, two 12-unit seminar courses and one 24-unit capstone course. You must take a certain number of core courses depending on your chosen major. The remainder of the 12-unit courses with course numbers 600 or greater can be electives chosen from the SCS course catalog. Any additional non-prerequisite units taken beyond the 144 units are also considered electives.

Here's a detailed breakdown of the curriculum.

Preparation Prerequisite
Historically, students typically need a refresher on basic computer science systems before beginning graduate work at CMU. You must earn a B- or better in the undergraduate course 15-513 Introduction to Computer Systems (6 units), typically in the summer before your program commences. (This course is the distance education version of 15-213 Introduction to Computer Systems.) Failure to pass the course means that you have to take 15-213 during either the fall or spring semester, and the units will not count toward your 144 eligible units of study.

Major Assignment
When you apply to the MCDS program, the admissions committee selects the best major for you — Systems, Analytics, or Human-Centered Data Science — which governs the core courses you will take. To maximize your chance of success in the program, we typically assign you to the major for which you're best prepared based on education background, work experience and the areas of interest stated in your application. Admitted students may petition to change majors after the first semester, provided that they are in good academic standing and have completed the first semester requirements of their initially assigned majors. You should indicate your major preference, if any, in your application.

Detailed Course Requirements
Each major has different core curriculum requirements.

Systems Major

  1. Core Curriculum. Pick five, with at least three project (*) courses.
    • 15-605 Operating Systems Implementation(*)
    • 15-615 Database Applications
    • 15-618 Parallel Computer Architecture & Programming (*)
    • 15-619 Cloud Computing (*)
    • 15-640 Distributed Systems (*)
    • 15-719 Advanced Cloud Computing (*)
    • 15-721 Advanced Databases (*)
    • 15-746 Storage Systems (*)
    • 15-826 Multimedia Databases and Data Mining
    • 15-712 Advanced and Distributed Operating Systems
    • 15-821 Mobile and Pervasive Computing
  2. Seminar in Data Systems (15-649 A in the fall and 15-649 B in the spring)
  3. Capstone project (15-649 C, D or E) in the second fall semester
  4. Three electives (any graduate-level course 600 and above in the School of Computer Science)

Analytics Major

  1. Data Science Seminar (11-631) in the first fall semester
  2. Capstone Planning Seminar (11-634) in the first spring semester
  3. Data Science Analytics Capstone (11-632) in the second fall semester
  4. Core Curriculum (five courses)
  • Choose two courses in Machine Learning/Statistics:
    • 10-601 Machine Learning (fall)
    • 11-641 Machine Learning for Text Mining (fall/spring)
    • 10-701 Advanced Machine Learning (fall)
    • 10-605 Machine Learning with Big Data Sets (spring)
  • Choose two courses in Software Systems:
    • 11-791 Design and Engineering of Intelligent Info Systems (fall)
    • 15-619 Cloud Computing (fall/spring)
    • 11-792 Information Systems Project (spring)
    • 11-642 Search Engines (fall/spring)
  • Choose one course with a focus on Big Data:
    • 15-826 Multimedia Databases and Data Mining (spring)
    • 10-605 Machine Learning with Big Data Sets (fall)
    • 11-676 Big Data Analytics (fall)
    • 11-775 Large-Scale Multi-media Analysis (spring)

5. Three electives — any graduate level course 600 and above in SCS

Human-Centered Data Science (HCDS) Major

1. Core Curriculum (2 courses)
2. Behavioral Research Methods Requirement (1 course)
3. HCI Requirement (3 courses)
4. Data Science Seminar 11-631 in Fall 1 and Capstone Planning 11-634 in Spring 1
5. Data Science Analytics Capstone Course 11-632 in Fall 2
6. Two (2) Electives: any graduate level course 600 and above in the School of Computer Science
7. An internship or practical training

Capstone Project
Every student must complete a capstone project that integrates your classroom experience with hands-on research. Working alone or as part of a team, you'll solve a research problem with either a Carnegie Mellon or industry partner.

Internship 
Every student is required to complete an industry internship or adequate practical training. This typicall happens in the summer between the first fall and spring semesters.

Electives
You can take three elective courses. The electives should be any graduate-level, 12-unit course in the School of Computer Science.

Working Directly With Faculty
Some students want to explore more research-oriented studies conducted directly with a faculty member. To perform this kind of work, your background and the faculty member's interest must be closely aligned. You will take an independent study course as an elective and work with the faculty member. If you're interested in this option, please contact the director.