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 fundamental knowledge, skills, and first-hand experience in software engineering by balancing theory and practice, engaging students 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.  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.

Research Opportunities

ECE’s M.S.-SE faculty conduct research in core software engineering topics as well as complementary areas where software’s role is pivotal. M.S.-SE students contribute to a variety of projects pursued by the M.S.-SE faculty and other ECE faculty across both Pittsburgh and Silicon Valley campuses to hone and apply their skills and gain experience in a research context.  M.S.-SE students are able to participate in research activities either for pay as graduate research assistants or for credit by enrolling in ECE’s M.S. Graduate Project course.

Networking and Career Opportunities

CMU’s Silicon Valley campus is located at the heart of a unique and rich ecosystem with the world’s highest concentration of technology organizations. From startups to giants, software is a central component of these organizations’ business models, delivery systems, and operations. Students have ample opportunities to participate in this ecosystem and Silicon Valley’s entrepreneurial culture via internships, tech talks, meetups, hackathons, and other on- and off-campus career development experiences. These experiences help our graduates build a career path with lifelong networking skills. 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 high-technology centers elsewhere. Some of our students choose to develop their own business acumen through elective courses, and become entrepreneurs themselves upon graduation.

Visit the Silicon Valley career services page for professional development activities available to students. For job placement statistics, visit the Postgraduate Outcomes dashboard at the CMU Career & Professional Development Center.

Teaching Assistantships

Teaching assistantships are available to high-performing and interested  M.S.-SE students on a paid basis, typically after their first semester. Being a teaching assistant is a great way for students to improve their mentoring, communication, and leadership skills. Students invariably characterize their experience as teaching assistants as rewarding and an invaluable addition to their resumes.

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. Following these guidelines is central to increasing your chances of admission.

In your Statement of Purpose (SoP): Make sure to 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 specific application domain (e.g., machine learning, data science, cyber-physical systems, security, natural language processing, e-health, autonomous computing, computer vision) or in a computing field other than software engineering, discuss why M.S.-SE is the right program for you. You should also explain 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 which you have an interest.

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.

Further Information

If you have questions about the M.S.-SE program’s goals and content and to find out whether this program is right for you, contact the Program Lead, Prof. Hakan Erdogmus, at  hakane@andrew.cmu.edu with information on your background and interests (you may add your resume to your enquiry).

For questions about the application process and administrative issues, please first explore these pages:


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