The USC Center for Systems and Software Engineering keeps current with technology, applications, and economic trends with the help of our 42 industry and government Affiliates, through their participation in our annual workshops and collaborative projects. These cover such areas as value-based spiral model extensions, COCOMO® cost-schedule-quality estimation model extensions, UML-xADL architecture specification extensions, COTS-based system development, and agile methods.
Our Affiliates include Boeing, Northrop Grumman, Lockheed Martin, Aerospace, and a number of small companies and nonprofits. The financial support of these Affiliates helps us experiment with new educational approaches. Our mainstream software engineering course has 5-student teams go from inception through to transition in 24 weeks, developing real-client e-service applications for campus (and some off-campus) organizations. They use a mix of industrial-grade tools (Rational Rose/Soda/Clear Case, MS Project, numerous Java and other development tools) and our own USC-developed tools (USC COCOMO® II, Easy Win Win) and the aforementioned methods. Just keeping the applications competitive helps us keep up with emerging technologies: between 1996 and 2002, our percentage of COTS-based applications increased from 28% to 61%.
Our students also get course credit for analyzing their summer internships with industry. The analysis includes an assessment of the relative strengths and weakness of the processes, methods, and tools they use in industry and the ones we teach them at USC. This also helps us keep the curriculum current.
As the pace of IT change continues to accelerate, we see our biggest challenge not in helping students to learn new technologies, but in helping them to learn how to learn. In our Software Management and Economics course, we have two assignments in which the students role-play as the CTO of a medium-size software company in preparing for the company’s president an assessment of the advantages and difficulties of the company’s adopting a new technology such as agile methods, COTS-based solutions, or product lines. Their grading criteria include not only the incisiveness of the analysis, but the number and diversity of referenced sources they have found that support the analysis. This has been a strong learning-how-to-learn experience for both the students and the faculty.