Software Systems Engineering (SSE)
Silicon Valley is the epicenter of the software industry, and Carnegie Mellon University brings its expertise in software education and research to the eco-system. The Software Systems Engineering program (SSE) encompasses software systems technologies, software engineering methods, and management techniques that improve the quality and delivery of modern software intensive systems and applications. In a culture where products are shipped in weeks, we work quickly to find pragmatic solutions to challenges faced by industry.
The Silicon Valley climate of innovation and entrepreneurship has a strong influence on our research, resulting in an emphasis on projects that can be applied to real world problems rather than purely focusing on foundational research. Our location puts us in close proximity to many of the world's most innovative companies, and we have been able to draw on their top technical leaders to present their work in our weekly colloquia.
Our primary focus is on mobile, embedded, sensory, and cloud computing systems. The teaching and research programs in SSE reflect the unique character and software development style of Silicon Valley, making it an excellent home for students, faculty, and visitors who want to participate in our varied activities and connect with Silicon Valley.
The professional master's programs provide our students with useful knowledge that they can quickly apply. Classes are project-based and team-oriented. We follow a learning-by-doing model, supported by faculty coaching. In keeping with the campus theme of “Developing Software Leaders,” the programs place a high value on improving written and spoken communication skills as part of working on authentic deliverables.
Unique Program Features
Distinctive Teaching Methodology. Carnegie Mellon faculty members use a wide variety of teaching methods to maximize students’ learning experiences, including discussion sessions, small group coaching, problem-driven seminars, individual and “just-in-time” instruction in the form of online materials, learning guides, and short tutorials.
Project-Based Curriculum. The program features a heavy reliance on learn-by-doing projects, case analyses, and industrial practicums so that coursework is immediately applicable to responsibilities at work.
Team Orientation. Teamwork is fundamental to the program because all real software projects are a collaborative effort, and sharing work enables students and their teams to produce more authentic work products.
Software Systems Engineering researchers are engaged in a broad range of exciting research projects, focused on mobile, embedded and cloud-based systems. Key topics include wireless sensors, networking, security, statistical methods, context-aware mobile applications, software craftsmanship and software verification. We research real world problems. We list all of our published research in this repository. Our faculty obtain research grants, publish in leading conferences and archival journals, and bring their research into the classroom. Located in the heart of Silicon Valley, our campus is close to many of the world's most innovative companies. We draw on their top technical leaders for colloquia, teaching and research.
Embedded Systems - combines software and systems engineering techniques to create and sustain complex, sensor-rich, hardware-software systems underlying our modern technology-based society. More
Innovation and Entrepreneurship - understanding and fostering innovation and entrepreneurship in the context of rapid-paced delivery of highly-valued software and services. More
Mobility Research – methods and tools for mobile application development, and their interaction with social networks and cloud computing. More
Open Source Software - the evaluation and use of open source software, including analyzing business models for companies using open source software, and quantitative analysis of open source projects. More
Services Management - analyzes key performance indicators to provie a standard method for measuring and comparing business service. More
Systematic Software Reuse - Component and Service reuse and Product Line methods and technologies to improve the construction and use of components, frameworks and services, such as crowdsourcing, domain engineering, aspects and generators. More
Software Engineering Education – applying modern education techniques to maximize transfer between the academic learning environment and the student’s professional practice, using Story-Centered Curricula for team-oriented projects, simulations, just-in-time coaching and tutorials, and industrial practicums. More
Software Metrics – approaches to defining, collecting and interpreting measurements appropriate for effective management of different levels and phases of the software lifecycle. More
Software Verification - using abstraction and symbolic execution in the open source Java PathFinder verfification and static analysis tools, with applications for test input generation and error detection. More
Teamwork and the Craft of Software Development – the study of the craft of (agile) software development and how to improve individual development practices. More
The Software Systems Engineering faculty and researchers, in conjunction with colleagues in ECE, Silicon Valley companies and NASA's Ames Research Center, are engaged in a broad range of leading edge research. In addition to direct software systems engineering, software engineering and software management research, several other software intensive research projects engage faculty, MS and PhD students in building novel applications and systems involving sensors, networks, mobile and vehicular systems, using speech and machine learning technologies. Other research collaborations are in statistical methods, network and web security, and high performance computing. In addition, there are opportunities in our shared workshops (DMI, Mobicase) to research towards common goals.
Statistical Methods - develops state-of-the-art statistical learning, data mining and reasoning algorithms to build intelligent systems for real world problems, such as electrical power system management, speech translation, user behavior modeling and mobile context information detection. More
Security Research Group – collaborative work on the Foundations of Security and Privacy, Web Security and Wireless Network and System Security. More
Wireless Networks and Sensors – building and programming system of mobile sensors. More
High Performance Computing – algorithms and techniques to exploit highly parallel and GPU based systems.
A more complete list of research centers, labs and projects can be found here.