Prepare for advanced entry into professional careers in areas ranging from artificial intelligence to pattern recognition and image processing with the academic experiences offered through the CMU Department of Computer Science graduate programs:
You'll have opportunities to apply your knowledge and skills to meaningful research projects, work in world-class facilities and closely interact with distinguished professors.
Software Engineering and Technology Institute. Complement your graduate education through short courses, tutorials, conferences and workshops at SEITI. This center helps you develop important skills, become familiar with industry needs and connect with other researchers.
All graduate students should contact:
Applications for admission to the graduate program in computer science are available through the College of Graduate Studies.
Master of Science in Computer Science (M.S.)
Minimum Total for Graduation: 30 hours
Admission Requirements, Retention and Termination Standards
Conditional admission may be granted upon completion of a bachelor's degree, including a two semester sequence in a modern programming language with elementary data structures (CPS 180, CPS 181), from an accredited institution with a minimum overall grade point average of 3.0 in the last two years of study, as well as in the programming courses. International students are required to demonstrate English competency.
Regular admission is granted if you meet the above conditional requirements and have completed the following or the equivalent:
- Computer Architecture
- Data Structures and Algorithms
- Program Languages
- Operating Systems
- Calculus I
- Discrete Mathematics
GRE scores may be considered in cases where a student is deficient in the above knowledge areas.
Conditionally admitted students who have not met all these requirements will be required to get the department chairperson's permission to register in each graduate course.
You are required to achieve a minimum grade point average of 2.5 in the above-listed courses.
Required Courses I (6 hours)
- CPS 542: Analysis and Design of Algorithms 3(3-0)
- CPS 691: Graduate Seminar 3(3-0)
Required Courses II (6 hours)
Select six (6) credit hours from the following courses:
- CPS 520: Software Architecture 3(3-0)
- CPS 541: Databases 3(3-0)
- CPS 585: Applied Data Engineering 3(3-0)
- CPS 610: Advanced Software Design and Development 3(3-0)
- CPS 685: Pattern Recognition and Data Mining 3(3-0)
- CPS 710: Software Engineering Metrics, Models and Management 3(3-0)
Select either Plan A or Plan B:
Plan A Requirement (6 hours)
The 30-hour requirements include 24 hours of coursework, a Masters thesis of 6 hours (CPS 798), and an oral examination on the thesis.
- CPS 798: Thesis 1-6(Spec)
Plan B Requirement
The 30-hour requirements include 30 hours of coursework and a Plan B project. You must complete a substantial written report in computer science or an application of computer science for the Plan B project.
Copies of procedures for such projects are available from the department chairperson. The project will ordinarily include a significant original programming component with a written defense of the programming component and must include evidence of scholarly and creative ability. The project must be supervised while in progress and approved by a committee of two faculty members.
Electives (12-18 hours)
At least 12 hours must have the CPS designator. Electives from related areas may be selected with approval of your CPS advisor.
Accelerated Master of Science Program in Computer Science (M.S.)
Undergraduate students in Computer Science can pursue a Master of Science program in Computer Science while still fulfilling the requirements for their Bachelor's degree. The Accelerated Master's Degree Program (AMDP) allows you to reduce the total number of credits required to complete your undergraduate and graduate level degrees by applying up to 12 credits (500 and 600 level courses) towards graduation requirements on both degree programs.
To be eligible for the accelerated program, you must have completed a minimum of 90 credits (including transfer and/or AP credits) towards a Bachelor’s degree, including all University Program requirements. An overall grade point average (GPA) of a least 3.25 is required, as well as a minimum of 3.00 in Computer Science course work. In addition, you must satisfy all requirements for regular admission to the Master’s program in Computer Science, with the possible exception of completing CPS 450 and 470 courses, which may be completed during your senior year.
During your fourth year, you will complete 12 credits of graduate level course work (excluding independent study credits) that will be counted towards both the undergraduate and graduate degrees. In addition, you will take either CPS 450 and 470 or 6 hours of CPS electives. Other courses may be taken to complete Bachelor of Science degree requirements. You will complete the course work required for a Master of Science degree and complete either Plan A or Plan B option by the end of your fifth year.
A sample curriculum for a student who has completed 90 credit hours of undergraduate course work is given below:
Sample Curriculum for Plan A or Plan B Option
Fall (15 hours)
- CPS 542 (elective for B.S.; required for M.S.) - 3 hours
- CPS Elective or CPS 450 - 3 hours
- Undergraduate Courses - 9 hours
Spring (15 hours)
- CPS Elective or CPS 470 - 3 hours
- Other B.S. Requirement - 3 hours
- CPS Electives for both B.S. and M.S. - 9 hours
Summer (3 hours)
- Undergraduate Courses - 3 hours (if necessary)
Fall (12 hours)
- CPS 670 (required for M.S.) - 3 hours
- Electives for M.S.* - 9 hours
Spring (12 hours)
- CPS 650 (required for M.S.) - 3 hours
- Electives for M.S.* - 9 hours
*Note: You may complete CPS 798 (6 hours) over the course of two semesters for the M.S. Plan A Option.