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.

Writing your Statement of Purpose (SoP)

If your main interest is in a computing field other than software engineering or it is in a specific application domain (for example machine learning, data science, natural language processing, e-health, or computer vision), perhaps you are not applying to the right program. If you are confident that M.S.-SE is the right program for you, explain how your main interests can benefit from a degree and core skills in software engineering. Be aware of the differences between software engineering, computer science, other related computing fields, and specific application domains of software engineering.

If you are also applying for other ECE graduate programs in Silicon Valley or Pittsburgh and submitting a single SoP, make sure to include a separate section on the relevant elements for the M.S.-SE  program.

What to Put in Your Curriculum Vitae or resume

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, 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.