Carnegie Mellon University

Plan of Study

The MSE Programs for Recent Grads are 16-month long and consist of three traditional semesters and one summer internship. The programs begin in the fall and conclude the following year in December. While the summer session is reserved exclusively for the requisite internship, the second fall semester is dedicated to an intensive practicum project.

Courses in the first year are divided into 7-week mini-semesters to allow students to concurrently learn a wider range of topics, while scaffolding learning to more advanced topics later in the program. For example, Semester 1-2 is the second half of the first program semester, normally in the Fall.

Sample Curriculum — Scalable Systems Focus

Semester 1-1

17-601 Communication for Software Engineers I
17-611 Statistics for Decision Making
17-612 Business & Marketing Strategy
17-614 Formal Methods
17-615 Data Structures & Algorithms¹

 

Semester 1-2

17-601 Communication for Software Engineers I
17-622 Agile Methods
17-623 Quality Assurance
17-625 Design Patterns & API Design¹,²
17-626 Requirements for Information Systems

Semester 2-1

17-602 Communication for Software Engineers II
17-632 Software Project Management
17-635 Software Architecture
17-636 Distributed Systems Fundamentals
+ Elective course

Semester 2-2

17-602 Communication for Software Engineers II
17-616 DevOps
17-643 Quality Management
17-647 Data-intensive and Scalable Systems
+ Elective course

Semester 3

17-667 Internship for Software Engineers

Semester 4

17-675 Software Engineering Practicum
+ Elective course

Sample Curriculum — Embedded Systems Focus

Semester 1-1

17-601 Communication for Software Engineers I
17-611 Statistics for Decision Making
17-612 Business & Marketing Strategy
17-614 Formal Methods
17-615 Data Structures & Algorithms¹

 

Semester 1-2

17-601 Communication for Software Engineers I
17-622 Agile Methods
17-623 Quality Assurance
17-625 Design Patterns & API Design¹,²
17-627 Requirements for Embedded Systems

Semester 2-1

17-602 Communication for Software Engineers II
17-632 Software Project Management
17-635 Software Architecture
17-636 Distributed Systems Fundamentals
+ Elective course

Semester 2-2

17-602 Communication for Software Engineers II
17-643 Quality Management
17-646 DevOps
17-648 Sensor-based Systems
+ Elective course

Semester 3

17-667 Internship for Software Engineers

Semester 4

17-675 Software Engineering Practicum
+ Elective course

¹ Students may place out of this course by exam or petition.
² Students may alternatively take 17-624 Advanced Formal Methods in place of this course.