A Constrained and Guided Approach for Managing Software Engineering Course Projects

This paper documents several years of experimentation with a new approach to organizing and managing projects in a software engineering course. The initial failure and subsequent refinements that the new approach has been through since 2004 are described herein. The “constrained and guided” approach, as it is called, has helped to reduce project failure rates, increase specification fulfillment rates, and improve the design quality of student projects. It has also enabled the instructor to evaluate student projects more objectively. The questionnaire survey conducted in this study also shows that students greatly appreciated the new approach because it enabled them to manage projects more effectively.

[1]  A. van der Hoek,et al.  It’s All in the Game: Teaching Software Process Concepts , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[2]  Clinton Jeffery,et al.  Tight spiral projects for communicating software engineering concepts , 1998, ACSE '98.

[3]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[4]  Marcia C. Linn,et al.  The case for case studies of programming problems , 1992, CACM.

[5]  Jocelyn Armarego,et al.  Educating 'Agents of Change' , 2005, 18th Conference on Software Engineering Education & Training (CSEET'05).

[6]  Andy Cockburn,et al.  An immersion model for software engineering projects , 1997, ACSE '97.

[7]  Janet E. Burge,et al.  Rising to the Challenge: Using Business-Oriented Case Studies in Software Engineering Education , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[8]  Nicole Clark,et al.  Self and Peer Assessment in Software Engineering Projects , 2005, ACE.

[9]  William J. Joel Realistic student projects , 1987, SIGCSE '87.

[10]  Jane Burdett Degrees of separation — balancing intervention and independence in group work assignments , 2007 .

[11]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[12]  Daniel Farkas Choosing group projects for advanced systems courses , 1988, SIGCSE '88.

[13]  Stephanie D. Teasley,et al.  How does radical collocation help a team succeed? , 2000, CSCW '00.

[14]  Nicole Clark,et al.  Evaluating Student Teams Developing Unique Industry Projects , 2005, ACE.

[15]  André van der Hoek,et al.  Scaling up: How Thirty-two Students Collaborated and Succeeded in Developing a Prototype Software Design Environment , 2005, 18th Conference on Software Engineering Education & Training (CSEET'05).

[16]  C. Barry Jay,et al.  Teaching a capstone subject in computing science- a variety engineering approach , 2000, Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518).

[17]  Andrew Litchfield,et al.  Supporting peer assessment of individual contributions in groupwork , 2007 .

[18]  Linda Rising Removing the emphasis on coding in a course on software engineering , 1989, SIGCSE '89.

[19]  Nancy R. Mead,et al.  Security Requirements Engineering for Software Systems: Case Studies in Support of Software Engineering Education , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[20]  Sally Fincher,et al.  Computer Science Project Work , 2001 .

[21]  Sally Fincher,et al.  Computer Science Project Work: Principles and Pragmatics , 2011 .

[22]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[23]  Dean Sanders Managing and evaluating students in a directed project course , 1984, SIGSCE '84.

[24]  David Carrington,et al.  It's all in the game: Teaching software process concepts , 2005 .

[25]  Barry L. Kurtz,et al.  Implementing a single classwide project in software engineering using Ada tasking for synchronization and communcation , 1990, SIGCSE '90.

[26]  Anthony J. Cowling Stages in Teaching Software Design , 2007, 20th Conference on Software Engineering Education & Training (CSEET'07).