Supported by NSF Award #CCF-0417548
Given the ever-increasing influence of computer software on our lives, it is crucial for the developers of software products to communicate easily and precisely with a wide range of stakeholders. Furthermore, today's software products are artifacts of great complexity and variety, so great care must be taken in defining the format and content of such communication. Typically, however, the process of sharing knowledge between developer, customer, end user, and other stakeholders is discussed very little in undergraduate CISE education.The proposed project seeks to enhance the education of undergraduate software engineering students in three ways: enlightening them about the needs and knowledge of other stakeholders, empowering them to engage in active communication with these stakeholders, and enabling them to communicate precisely and effectively. Curricular materials will draw from results from research in technical communication, using scenarios to draw end users and other traditionally marginalized stakeholders into the development process. The project will also use new software engineering tools and methodologies for documenting requirements and design. Problem frames will be used to structure and analyze software problems, and Abstract State Machines will be used for design documentation, prototyping, and verification.
Intellectual merit. This project brings together experts in technical communication and computer science to generate novel approaches to software engineering education. The material drawn from current software engineering research has not yet been brought into the classroom to any significant extent. The implementation and evaluation of the new curricular materials are to be performed in a variety of settings, by faculty members active in research and experienced in undergraduate education.
Broader impact. The curricular enhancements proposed in this project will help to produce more effective software engineers and better software. Training in careful, intensive communication with customers and users will increase customer satisfaction through greater usability and fewer defects. Instilling a discipline of literate, precise documentation will foster understanding among developers and simplify maintenance.
In addition, the proposed project will enliven the CISE curriculum and equip future software engineers with useful skills. Empowering students to participate in active communication will make them more engaged in their profession and less prone to frustration and burnout. The focus on real software problems will attract those students who prefer "computing with a purpose" and become disillusioned with the usual computer-centrism of CISE education. Recent studies have indicated that many female students fit this description, and that providing the motivation of realistic applications may help recruit and retain more women in CISE disciplines.