Carnegie Mellon University

M.S. in Software Engineering requirements

The Professional M.S. in Software Engineering (SE) is available to qualified students who have earned an undergraduate degree in a relevant field.  The M.S. degree program is a course-based, full-time program in which students complete three full-time (36 units) semesters (including summer if summer is a student’s final semester). Students who are interested and qualified may take an accelerated course load and complete the degree in two semesters and should consult with their advisor.  Summer semester courses may be limited so that students are available to pursue competitive internships in the Silicon Valley area or elsewhere.

Effective Fall 2018, all incoming ECE graduate students, including M.S. in Software Engineering students, will be required to complete a one-unit Introduction to Graduate Studies course (18-989) in their first semester in order to receive their degree. This course is in addition to the 96 units already required to complete the M.S. in ECE.

Note to current/future IMB students: ECE students who are juniors, seniors, or current Master’s students as of Fall 2018 do not need to complete 18-989 in order to graduate. ECE students who become sophomores in fall 2018 and after who sign up for the IMB program will be required to follow the new rule. ECE students who are juniors, seniors, or current Master’s students as of fall 2018 do not need to complete 18-989 in order to graduate.

Spring 2020 requirements

For students entering the MS-SE program during or after Spring 2020.

There have been changes to the core curriculum with regards to the removal of courses under certain areas and adjustments to what is designated as “core” beyond the area requirements.  All students are still required to take 18-652 Foundations of Software Engineering, which is no longer under the “Design” area.  No changes have been made to the elective courses.  Additional details about these changes are outlined below.

Students who entered the MS-SE program prior to the Spring 2020 semester have the option to remain with their current program.  In other words, you may elect to stay with the curriculum as it was when you began.  Alternatively, you may elect to opt in to the new program by submitting a form to your academic program advisor, Brittany Reyes; please email her at bjreyes@andrew.cmu.edu separately to obtain this form.  If you do not submit this form, it will be assumed that you are not interested in the updated curriculum and you will automatically remain in the program as it was when you started.  Forms will be accepted now through February 1st, 2020.  Requests to change SE programs will not be accepted beyond February 1st, 2020.

Changes Summary

Software Engineering Core Graduate Coursework

The MS-SE program requires 60 units of core coursework that may not be waived or substituted. Students are required to take 18-652 Foundations of Software Engineering in their first semester. To complete the 60 units of core coursework, students should choose at least one course in each of the three areas: Design, Analysis, and Systems. The remaining 12 units can be additional coursework in the above areas, or any other course approved for the regular MS-ECE program, provided the course is offered to SV students. As per MS-ECE requirements, up to 15 units of a graduate research project (18-980) can be counted towards the core units.

Design

Analysis

Systems

Software Engineering core courses

18-653 Software Architecture 18-654 Software Verification, Validation & Testing 18-655 Service Oriented Computing
18-658 Software Requirements and Interaction Design 18-656 Data-Intensive Workflow Development for Software Engineers 18-659 Software Engineering Methods
18-657 Decision Analysis & Engineering Economics for Software Engineers 18-613 Foundations of Computer Systems

 

Fall 2017 requirements

For students entering the MS-SE program during or after Fall 2017.

Students who matriculated in the MS in Software Engineering program in fall 2017 and spring 2018 must complete 96 units of coursework. Students who matriculate in fall 2018 and after must complete 97 units of coursework. These units are comprised of the following degree requirements:


A. ECE core graduate coursework: 60 units

The SE program requires 60 units of core coursework that may not be waived or substituted. Students are required to take 18-652 Foundations of Software Engineering in their first semester.  To complete the 60 units of core coursework, students should choose at least one course in each of the following three areas:

  • Software Engineering and Design
  • Analysis
  • Systems
The remaining 24 units can be additional coursework in the above areas or 12 units of a graduate research project (18-980).  

 

Software Engineering and Design

Analysis

Systems

Software Engineering core courses

18-652 Foundations of Software Engineering 
(Required course)
18-654 Software Verification, Validation & Testing 18-655 Service Oriented Computing
18-653 Software Architecture 18-656 Data-Intensive Workflow Development for Software Engineers 18-659 Software Engineering Methods
18-658 Software Requirements and Interaction Design 18-657 Decision Analysis & Engineering Economics for Software Engineers

ECE core courses

18-697 Statistical Discovery and Learning 18-600 Foundations of Computer Systems
18-638 Mobile Security
18-644 Mobile Hardware for Software Engineers
18-645 How to Write Fast Code
18-747 Wireless Device Architecture
18-843 Mobile and Pervasive Computing

 


B. Electives: 36 units 

B1. Restricted electives: 24 units

Students have the opportunity to pursue a wide range of electives in which they have a special interest. Any ECE course (18) at the 500-level or above will satisfy this requirement, as well as courses from select colleges and departments as listed below. See restrictions section below for exceptions.

  • Any ECE (18) course at the 500-level or above
  • Any course at the 600-level or higher from one of the following colleges or programs:
    • Information Network Institute (14)
    • Integrated Innovation Institute (49)
  • Select courses from other departments offered on the Silicon Valley campus (listed on the schedule of classes with a section location in Silicon Valley), including:
    • 15-619
    • 10-601
    • 15-688
    • 11-785

B2. Less-restrictive electives: 12 units

The remaining 12 units must be at the 300 level or greater from the same colleges, departments and programs listed above. Up to 3 units of professional development courses can count towards the less-restricted electives.

Petitions for exceptions to the above criteria may be considered by the Graduate Studies Committee. Please see your academic advisor for more information.

  • 18-994 Internship for Electrical and Computer Engineering Masters Students
  • 39-699 CIT Professional Development Course

Restrictions 

Courses should be taken at the Silicon Valley campus, either from faculty located at the campus or via courses broadcast from the Pittsburgh campus to Silicon Valley.

Course restrictions

Students are responsible for checking the syllabi for their classes to ensure that they meet these requirements. Of the 97 required units, you may not count:

  • Courses numbered as xx-299
  • More than 15 units of graduate research project (18980) units
  • More than 12 units of undergraduate courses (at least 300 level or greater)
  • Any units of physical education, ROTC, seminar/practicum/independent study courses, or courses taken as pass/fail or audit
    • Known courses include but are not limited to: 49-790, 49-791, 49-792, 49-793
  • Courses where more than 50% of the course grade is based on a group project
  • Courses where more than 20% of the course grade is based on attendance
  • Mini courses worth 12 units
    • Known courses may include but are not limited to: 49-750, 49-751, 49-761, 49-762, 49-763, 49-764, 49-765, 49-766, 49-767, 49-770, 49-771, 49-772, 49-773, 49-774, 49-780, 49-781, 49-782, 49-788

Transfer credit from previous universities or colleges

For transfer of credit, please refer to the M.S. Student Handbook.

Quality Point Average (QPA) requirement

In order to graduate, each student must have a Quality Point Average (QPA) of at least 3.0 in the courses being used towards the required 97 units. Coursework or graduate project units with a grade lower than ‘C’ will not be considered toward graduate degree requirements; however, they will be calculated into the student’s cumulative QPA. Please refer to the M.S. Student Handbook for grades and other information. 


Applying to the Ph.D. program

Students in the professional M.S. program

Students in the Professional M.S. program may apply to the Ph.D. program. These students must be enrolled for two academic semesters in the Professional M.S. programs before they can matriculate into the Ph.D. Program. Students must apply by the dates listed on the admissions deadlines page.