Carnegie Mellon University

M.S. in Software Engineering

The Master of Science in Software Engineering (M.S.-SE) is a unique program offered exclusively at CMU’s Silicon Valley campus. It emphasizes a rigorous foundation in the core disciplines of software engineering. The program offers students a first-hand experience in software engineering by balancing theory and practice, engaging them in active learning, and encouraging collaboration on projects drawn from real world contexts.

Our students enter the program with a strong foundation in computer science. They leave the program with a deep knowledge of software engineering.

What is Software Engineering?

Despite overlaps, software engineering is not the same as computer science. While computer science focuses on the foundations of computing (e.g., algorithms, computer architecture, compilers, programming languages, operating systems, databases, machine learning, discrete mathematics), software engineering focuses on the technical and organizational methods, practices, and tools necessary to develop complex software systems in teams.

Software engineering is about solving real world problems through effective engineering practices spanning software requirements, interaction design, architecture, technical design, implementation, quality assurance, and delivery. Since the work is done in teams, software engineering is also deeply concerned with effective collaboration and work organization.

Core Software Engineering Courses

The M.S.-SE program does offer the possibility of taking courses in a variety of computing fields, including computer science, cyberphysical systems, mobile computing,  security and privacy, data science, machine learning, and artificial intelligence, but its main orientation is software engineering. The following are core software engineering courses:

Check the program requirements for more information about which and how many of the above courses you need to take to obtain an M.S-SE degree.

Program Connection with Research

CMU’s Silicon Valley campus provides an ideal setting for the M.S.-SE program. ECE’s Silicon Valley faculty conduct research in core software engineering topics as well as in a wide range of complementary research domains where software is pivotal. M.S.-SE students thus have ample opportunities to contribute to a variety of research projects to hone and apply their skills and gain experience in a research context.  

Program Connection with Industry

Our deep ties to local companies, from startups to giants, allow the students to engage in Silicon Valley culture via sponsored projects, internships, tech talks, meetups, hackathons, and other on- and off-campus career development experiences. These experiences help graduates build a career path with lifelong networking opportunities. Our graduates are competitively recruited by small and large companies alike, including Google, Facebook, Microsoft, VMWare, Amazon, IBM, Salesforce, Yahoo, SAP, PayPal, LinkedIn, Coursera, Cisco, NVidia, Tesla, Docker, and many others in the San Francisco Bay Area and other high-tech centers. Some of our graduates contribute to Silicon Valley culture by developing their own high-tech business acumen through electives and becoming entrepreneurs themselves.

Application Guidelines

Please review the graduate applications guidelines page for recommendations on how best to prepare your application package. Please also view the following guidelines specific to M.S.-SE.

In your Statement of Purpose (SoP): Demonstrate an understanding of what software engineering is, your familiarity with the specific goals of the program, and your interest in the program’s content. If your main interest is in a computing field other than software engineering or in a specific application domain (e.g., machine learning, data science, cyberphysical systems, security, natural language processing, e-health, autonomous computing, computer vision), explain why M.S.-SE is the right program for you and how your main interests can benefit from a degree with core skills in software engineering. Show awareness of the differences between software engineering and other computing fields.  

In your Curriculum Vitae or Resume: List software development technologies with which you are familiar, together with level of familiarity (beginner, intermediate, advanced, expert), including programming languages, frameworks, tools, main libraries, methods, and standards.  


If you have any questions about preparing your application package for the M.S.-SE program, contact

Additional information about The Bureau for Private Postsecondary Education (BPPE) can be found here.