2nd International Workshop on Software Engineering Course Projects (SWECP 2005)
Tuesday, October 18, 2005
Sheraton Parkway Toronto North Convention Centre
Held as part of The 15th International Conference of the IBM Centre for Advanced Studies on Collaborative Research (CASCON 2005: Oct. 17-20, 2005; Toronto, Canada)
Department of Computer Sciences
Florida Institute of Technology
Department of Computer Science & Engineering
Florida Atlantic University
Department of Computing Science
University of Alberta
Department of Computing and Software
Team-based projects are the cornerstone of many undergraduate software engineering courses. In these projects, the students learn the importance of topics such as project management and issues of scale that separate software engineering from program development. For many students, the course project is their first exposure to working in a cooperative/competitive environment – quite different from the “start hacking, work alone, and don’t talk to your friends” model that is typical of other software courses.
However, conducting such a course project is a very challenging task. The instructor must carefully balance the sometimes conflicting goals of academic rigor and industrial relevance. Some of the fundamental characteristics of software engineering projects (e.g., team-based, large-scale, long-lived) are difficult to realize within the constraints of a university course in a single semester. This is particularly true when dealing with young students who may lack the real-world experience needed to appreciate some of the more subtle aspects of software engineering.
As an example, a typical undergraduate “Introduction to Software Engineering” overview course commonly that is offered at many universities is constrained by the length of the course (usually 10-15 weeks) and the typical challenges of attempting to recreate a commercial software engineering experience in an academic setting. Nevertheless, the students are subjected to some of the same challenges that their professional counterparts often encounter, for example, working on a tight schedule, with a team that is not of their choosing, and where their reward (their grade, in this case) is not entirely in their own hands.
From an industry perspective, many employers often lament that they must provide extensive (re)training to new employees. One of the reasons given for this situation is that the students haven’t learned in school what the company considers to be important. To be sure, there will always be issues specific to the corporation that the new employee must acquire. But for software engineering, it seems odd that the projects students are given during their final years as an undergraduate are usually not indicative of the type of projects they will likely be working on in an industrial setting.
The SWECP 2005 workshop explored how educators and industry can work together to develop a more rewarding educational experience for all stakeholders involved.
This was a half-day event, held in a single room to accommodate the (approximately) 25 participants. The workshop was structured around theme-oriented presentations made by recognized experts in the field. Following each presentation, the workshop participants engaged in structured discussion. The idea was to foster the exchange of ideas and information in an informal setting, but with some boundaries placed on topics and time to ensure that the workshop stays on schedule.
A detailed program is available. The workshop provided an opportunity for the exchange of information related to areas including (but not limited to):
A summary document containing the workshop findings was distributed electronically to registered participants via the CASCON Web site. A full paper reporting on the workshop is included as part of the CSEE&T 2006 Conference Proceedings, published by IEEE CSE press.
The people who participated in the workshop were primarily from academia: lecturers, faculty, and students. The initial assumption was that the people most interested in this topic would be educators responsible for teaching software engineering classes in a university setting. Graduate students who have their sights set on life as an academic after they complete their Ph.D. were also thought to find this workshop extremely useful.
Participation from industrial representatives greatly improved the workshop’s tenor. Many companies offer their own specialized training sessions, sometimes using mock projects that are similar to the projects university students’ experience. It is only through dialog between academia and industry that the improvements can be made to this aspect of the undergraduate curriculum.
There was no requirement for any participant to be actively teaching a software engineering course; we certainly did not exclude anyone from sitting in on part of the workshop. The main requirement was an interest in improving the current situation.