Click here to access press info


Where you work on a large scale project, as a team, for a real client


The Software Development Studio is the final component of the joint CMU-UC MSE program.Rather than working on a thesis project, as in traditional master's programs, MSE students devote their efforts to a Software Development Studio. Because they will return to industry as software engineering practictioners, the “hands on” approach of the Studio has proven to have far greater value and a longer-lasting impact for the graduates. Teamwork, organization, and the use of disciplined software processes are stressed in studio project work. Students are encouraged to incorporate classroom lessons into the everyday practices for real-world projects.

Software Development Studio spans the entire MSE program, commencing the day that students enter the program and concluding with graduation. It accounts for 40% of total student academic load, acting as a laboratory where students apply knowledge gained from core and elective courses in realistic, yet mentored, environments. Former and/or practicing professionals are selected to mentor each Studio project, providing team as well as individual guidance. With their significant industrial experience, mentors bring their experience to bear in guiding students in their application of methods, techniques, and technologies learned in the classroom to real- world problems encountered in studio. Meeting weekly in informal sessions, students are encouraged to ask probing questions related to their efforts as they evaluate the impact of their choices and decisions.

A Sample of Past Studio Projects at CMU campus (USA).


Before the Space Shuttle flies, its thermal protection system has to be waterproofed by injecting a toxic chemical into each of the thousands of individual tiles. A perfect job for a robot. Two Studio teams implemented the software to move and position the robot, move and position its arm, and do planning of its work.


This project is a robot to explore the moon and Mars. It has some requirements for autonomous operation. The Studio worked on navigation software and the system specification. It also re-engineered part of the existing "standard" robot message passing system, Task Control Architecture.


Two different systems were implemented to assist architects and their contractors to have different "views" of buildings in a coordinated way. Usually plumbers, HVAC engineers, electricians, and architects have to reconcile their different needs in building construction by manual and awkward means. The systems implemented by the Studio teams assisted in automating and intelligently reconciling cable runs, piping, HVAC, etc.


A Studio team re-engineered a CAI system that teaches logic. The old system was assembled from various sources and its interfaces had become unmaintainable. The Studio team re-implemented the underlying knowledge base and part of the user interface.



The Tape Copy and Management System (TCAMS) is one of the most successful Studio projects in terms of producing high quality code by following a defined process. TCAMS is 7,000 lines of C that controls a robotic tape mounting system and associated computers for the Air Force's B-2 test program. The product had a total of three defects detected in unit and itegration test combined [0.44 defects/KLOC]. Tour more defects were found by the client in acceptance test, none major. After six months of operations, no additional defects were found.

NDBS 2.0

Netscape Database Keystore 2.0 (NDBS 2.0) is a 100% Java Keystore Service Provider Interface for extracting private keys and X.509 v3 certificates from Netscape products. This Studio team also produced an SEI Technical Note describing the experience of the conversion and development process, difficulties, and lessons learned: Beyond the Black Box: A Case Study in C to Java Conversion and Product Extensibility


The purpose of this project was to do benchmark performance testing of Enterprise Java Beans (EJB) implementations. The team designed and developed an agreed to set of benchmark programs, and produced statistical results. There were two interesting aspects to this. The first is that EJB implementations were quite new, so the team had to work with Beta test EJB implementations that were not mature, and in the end switched from IBM WebSphere to BEA WebLogic in order to complete the project. The second noteworthy aspect is that most of the other Studio groups and the mentors were not familiar with EJB either, so essentially the team had to do their own peer reviews and inspections. With a lot of hard work, this project was successful.


The Sentinel project provided prototype software in support of electronic treatment plans for mental health patients. The client was a startup company, and the client representatives werenot available to the extent needed to support the student team. The student team took theinitiative for developing requirements, architecture, and completing the project with little customer input. In addition, they applied a number of techniques they had learned in the MSE, andsupported some experimental research work in survivability at the SEI.



"Since the beginning of the MSE we have noticed a great evolution in ourselves: we are able to better assess under different perspectives the problems that are put to us."



Nuno Seixas

2007-2008 MSE student