Our 30 USC Center for Software Engineering industry and government Affiliates help keep us in touch with technology, applications, and economic trends through 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, software architecture languages and tools, COTS-based system development, and agile methods. Our Affiliates include IBM/Rational, Microsoft, Sun, HP, Motorola, Daimler Chrysler, the major aerospace companies, DoD, FAA, NASA, and small software companies, nonprofits, and consortia.
The Affiliates' financial support also helps us experiment with new educational approaches. Our mainstream software engineering course has 5-student teams go from inception through 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 USC-developed tools (USC COCOMO® II, Easy Win Win) and methods discussed above. 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 an assessment for the company's President 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.