search menu icon-carat-right cmu-wordmark

Software Engineering Curriculum

The Master of Software Engineering (MSE) Program is designed for software developers who have at least two years of experience and want to become technical leaders. Participants learn how to apply current best practices while effectively managing large, diverse teams and complex projects. A unique characteristic of the program is a design studio modeled after those used in architecture programs; under the guidance of a senior faculty member, MSE participants tackle realistic design projects offered by industry and government organizations.

The SEI teamed with the Carnegie Mellon University School of Computer Science (SCS) to offer a graduate degree program in software engineering. The MSE operated as a joint program for several years before it was transferred to the SCS, where it continues today. SEI staff remain involved, serving as studio mentors and occasionally teaching courses.

Supplementary Materials

  • MSE Studio - Sample Projects
    High-level concepts are applied in a mentored environment where in-class teams work on systems for industry clients. 
  • MSE Application Information
    Learn how to apply for Carnegie Mellon University's Master of Software Engineering Program.
  • SEI Series in Software Engineering
    The SEI partnered with Addison-Wesley to publish the SEI Series in Software Engineering. Today the series has more than 40 volumes on a wide range of software engineering topics. Many of the books in the series are authored by members of the SEI staff.


Charged with influencing the development of software engineering curricula throughout the education community, the SEI invited educators and practicing engineers to a series of workshops in 1988 to develop components of a curriculum. The resulting Model Curriculum for a Master Software Engineering (MSE) Degree provided the foundation for MSE programs at many universities and was the model for other curricula developed many years later, including the Graduate Software Engineering Curriculum developed by the Systems Engineering Research Center in 2009.

As the number of MSE programs grew, demand for undergraduate courses began to build. The SEI led development of an undergraduate curriculum in software engineering, engaging stakeholders through the Association for Computing (ACM) and the Institute of Electrical and Electronics Engineers Computer Society (IEEE-CS). The SEI developed curriculum modules and educational materials to support faculty members who wanted to offer software engineering courses. This work helped the MSE curriculum to be used more widely and eventually be established in over 50 software engineering degree programs that produced more than 700 graduates in 2004 alone.

The SEI continued to conduct faculty development workshops in conjunction with a conference that eventually became the IEEE Conference on Software Engineering Education and Training (CSEET). A working group that grew out of the CSEET met twice yearly between 1995 and 2000, producing a number of reports and other artifacts. IEEE took over coordinating further workshops and conferences intended to help professors update their software engineering knowledge. Ongoing development of software engineering curricula over time transferred to the academic infrastructure. The fact that colleges and universities are offering degrees based on accredited curricula is a major success in response to the SEI's original charter.