The CMU Master of Software Engineering Core Curriculum

There is an increasing demand for application-specific software. For example, the software to control a machine on a factory floor is different from the software to manipulate large databases. The software engineer building software to control a motor that powers a piece of machinery needs some understanding of the motor''s servo system; whereas a software engineer who designs the software to manage large databases for the NASA Space Station needs specific knowledge about database models as well as the types of data handled on a long-term space vehicle. Specialization tracks within the Master of Software Engineering (MSE) Program at Carnegie Mellon University would enable students to gain application knowledge while developing fundamental software engineering skills. This report proposes a model for establishing specialization tracks within a graduate software engineering program.