A Scalable and Portable Structure for Conducting Successful Year-long Undergraduate Software Team Projects

Introduction Producing industry ready graduates who are able to perform successfully in the workplace is a very important goal for tertiary educators. Factors of importance to employers, as described by Nunan (1999), extend beyond technical capabilities and include flexibility, independent learning, highly developed communication skills, and the ability to work in teams. This is underlined by industry accreditation requiring teamwork opportunities be provided during the undergraduate experience. Organising teamwork so that it is fairly structured and assessed is not an insignificant challenge (Clarke, 2002, 2005), as students should be sufficiently engaged to ensure that participation is equitable between team members. Engagement is an important issue more broadly. Engaged students become more deeply involved in their own learning, and the current generation of students are very strategic with their choices for engagement (Krause, 2006). Students are highly motivated when faced with authentic tasks in a realistic setting (Krause, 2006). Year-long team projects with external clients provide a well recognized opportunity for students to gain industry experience, whilst being supported and guided by staff to minimize risks. Each group needs to be supervised to ensure that they have enough direction and confidence to approach a new problem of significant size, without being daunted. A structure is needed that is flexible and adaptable to suit various institutional cultures but, at the same time, provides the safety net to ensure that success is highly likely. This paper proposes a structure that is scalable to any class size and portable across institutions and potentially across technical disciplines. The structure leads to team student projects that are successfully engaging and provide excellent experience toward producing work-ready graduates. The structure has been successfully implemented in at least three different universities in Australia and several remote partner sites in different countries over many years. This paper describes and reports on the positive aspects of capstone project units at three different institutions. The work presented is valuable as a presentation of our considered experience and observations of how to manage projects in a flexible framework that we recommend to others teaching similar units. This paper is a comprehensive review of distilled wisdom--based on literature and our own experience. The paper is organised as follows. We initially provide some background regarding our approach and argue that it is based on current best practice. We articulate key success factors for student software team projects, concentrating on those related to student support. We outline the structure in terms of the scaffolding it provides for problem based team learning with a constructivist approach. We then show that it is flexible and can be implemented in different settings by providing case study examples and short descriptions of its successful implementation at various institutions. We conclude this section with some comments on terminology. A project can occur within a Software Engineering degree, IT degree, or Computer Science degree. The different degree context can give subtly different scope for a project, and student background and expectation can differ. The project is often described as a capstone experience. People differ between whether the project is done by a team or a group. Discussing the trade-offs in terminology is beyond the scope of the paper. What we have in mind is a year-long software development project for an external client by a team of at least four later-year students, where students have to proceed from requirements elicitation through to delivery of a product to the client. Background Software team projects are recognized by professional societies, computing practitioners, and educationalists as a core component of effective undergraduate computing degrees (Fincher & Petre, 1998). …

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

[2]  Lorraine Johnston,et al.  Enhancing project-based learning: variations on mentoring , 1996, Proceedings of 1996 Australian Software Engineering Conference.

[3]  Michelle R. Hribar Sure Fire Programming: a general framework for independent projects in Computer Science , 2005 .

[4]  Ray Dawson,et al.  Twenty dirty tricks to train software engineers , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[5]  Nicole Clark,et al.  Software engineering projects: working in teams , 2002 .

[6]  Paul M. Leidig,et al.  Resources for instructors of capstone courses in computing , 2001, ITiCSE-WGR '01.

[7]  Sally Fincher,et al.  Beyond anecdote towards real transfer: using other institutions' experience of project work , 1998, ITiCSE '98.

[8]  Loren Falkenberg,et al.  Linking Theory with Practice: Undergraduate Project Management with School-Age Children , 2000 .

[9]  Maureen Tam,et al.  Constructivism, Instructional Design, and Technology: Implications for Transforming Distance Learning , 2000, J. Educ. Technol. Soc..

[10]  Jacqueline Grennon Brooks,et al.  The Courage To Be Constructivist. , 1999 .

[11]  David Abbott,et al.  An instructional scaffolding approach to teaching software design , 2006 .

[12]  Lorraine Johnston,et al.  Developing an Accredited Software Engineering Program , 1997, IEEE Softw..

[13]  Stewart T. Fleming,et al.  Talking Past Each Other-Student and Staff Reflection in Undergraduate Software Projects , 2005 .

[14]  Judy Kay,et al.  Results of a PBL trial in first-year computer science , 1997, ACSE '97.

[15]  Annegret Goold,et al.  Providing process for projects in capstone courses , 2003, ITiCSE '03.

[16]  Kathy Lynch,et al.  Information Technology Team Projects in Higher Education: An International Viewpoint , 2007, J. Inf. Technol. Educ..

[17]  Richard L. Conn,et al.  A reusable, academic-strength, metrics-based software engineering process for capstone courses and projects , 2004, SIGCSE '04.

[18]  M. Bates,et al.  Developing generic skills at university, during work placement and in employment: graduates' perceptions , 2004 .

[19]  Neville Bennett,et al.  Patterns of core and generic skill provision in higher education , 1999 .

[20]  D. Nicol,et al.  Formative assessment and self‐regulated learning: a model and seven principles of good feedback practice , 2006 .

[21]  James E. Tomayko,et al.  Agents of Change: Educating Software Engineering Leaders , 1997, Computer.

[22]  Holger Giese,et al.  Reporting about industrial strength software engineering courses for undergraduates , 2002, ICSE '02.

[23]  Mats Daniels,et al.  Open Ended Group Projects a 'Tool' for More Effective Teaching , 2003, ACE.

[24]  Annegret Goold,et al.  Students' pedagogical preferences in the delivery of IT capstone courses , 2004 .

[25]  D. Kolb Experiential Learning: Experience as the Source of Learning and Development , 1983 .

[26]  Mats Daniels,et al.  Open ended group projects, motivating students and preparing them for the 'real world' , 2002, Proceedings 15th Conference on Software Engineering Education and Training (CSEE&T 2002).

[27]  D. Kolb,et al.  Learning Styles and Learning Spaces: Enhancing Experiential Learning in Higher Education , 2005 .

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

[29]  Maryam Purvis,et al.  Educational Experiences From a Global Software Engineering (GSE) Project , 2004, ACE.