A survey of computer science capstone course literature

In this article, we surveyed literature related to undergraduate computer science capstone courses. The survey was organized around course and project issues. Course issues included: course models, learning theories, course goals, course topics, student evaluation, and course evaluation. Project issues included: software process models, software process phases, project type, documentation, tools, groups, and instructor administration. We reflected on these issues and thecomputer science capstone course we have taught for seven years. The survey summarized, organized, and synthesized the literature to provide a referenced resource for computer science instructors and researchers interested in computer science capstone courses.

[1]  Thomas P. Way,et al.  Inclusive computer science education using a ready-made computer game framework , 2007, ITiCSE.

[2]  Dean Sanders,et al.  How do we manage student projects?: panel discussion , 2007 .

[3]  Joseph M. Clifton,et al.  An industry approach to the software engineering course , 1991, SIGCSE '91.

[4]  Matthew Lang,et al.  Experiences of using rational rose/visio for UML modeling in an undergraduate software engineering course: a student perspective , 2004 .

[5]  Peter Capon Maximizing Learning Outcomes of Computer Science Projects , 1999, Comput. Sci. Educ..

[6]  Sharilyn A. Thoreson,et al.  Incorporating software engineering techniques into a computer architecture course , 1986, SAC '86.

[7]  Thomas Orr Genre in the field of computer science and computer engineering , 1999 .

[8]  G. Michael Schneider,et al.  A new model for a required senior research experience , 2002, SGCS.

[9]  Sallie Henry A project oriented course on software engineering , 1983, SIGCSE '83.

[10]  M. K. Wallace,et al.  Improving student information system design through evaluation and selection of an appropriate CASE tool , 1995, Proceedings Frontiers in Education 1995 25th Annual Conference. Engineering Education for the 21st Century.

[11]  Gretchen L. Van Meer,et al.  Beyond a first course in software engineering , 1985, SGCS.

[12]  R. Meredith Belbin,et al.  Team Roles at Work , 2022 .

[13]  John G. Meinke Augmenting a software engineering projects course with oral and written communication , 1987, SIGCSE '87.

[14]  Elaine Anderson Survival: a tale of a senior project , 1987, SGCS.

[15]  James E. Tomayko,et al.  Teaching a Project-Intensive Introduction to Software Engineering , 1987 .

[16]  A. A.J. Hoffman A survey of software engineering courses , 1978, SIGCSE '78.

[17]  James Calhoun Distribution of software engineering concepts beyond the software engineering course , 1987, SIGCSE '87.

[18]  Nan Sun,et al.  Finding an ideal model for our capstone experience , 2004 .

[19]  Laurie A. Williams,et al.  Integrating Agile Practices into Software Engineering Courses , 2002, Comput. Sci. Educ..

[20]  E. W. Banios An engineering practices course , 1992 .

[21]  Catherine Ricardo,et al.  A software development project: a student-written assessment system , 2005 .

[22]  Thomas Grechenig,et al.  Dimensions of software engineering course design , 2006, ICSE '06.

[23]  Stephen M. Jodis,et al.  Senior Design Project Course: A Case Study , 1992, Comput. Sci. Educ..

[24]  Mario Žagar,et al.  Enhancing software engineering education: a creative approach , 2008, SEESE '08.

[25]  Jennifer A. Polack IT IS TIME TO STAND UP AND COMMUNICATE , 2000 .

[26]  Laura M. Leventhal,et al.  Profile of undergraduate software engineering courses: results from a survey , 1987, SIGCSE '87.

[27]  D. Dillman,et al.  How to conduct your own survey , 1994 .

[28]  Gary A. Ford The SEI undergraduate curriculum in software engineering , 1991, SIGCSE '91.

[29]  Jon Beck Using the CVS version management system in a software engineering course , 2005 .

[30]  Noel LeJeune,et al.  Teaching software engineering practices with Extreme Programming , 2006 .

[31]  M. R. K. Krishna Rao,et al.  Storytelling and puzzles in a software engineering course , 2006, SIGCSE '06.

[32]  G. Scott Owen An Ada-based software engineering course , 1989, SIGCSE '89.

[33]  D. L. Parnas,et al.  A course on software engineering techniques , 1972, SGCS.

[34]  James S. Collofello Teaching practical software maintenance skills in a software engineering course , 1989, SIGCSE '89.

[35]  Nicole Clark Peer testing in Software Engineering Projects , 2004 .

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

[37]  Evans J. Adams A project-intensive software design course , 1993, SIGCSE '93.

[38]  Jürgen Börstler,et al.  Teaching the PSP: Challenges and Lessons Learned , 2002, IEEE Softw..

[39]  El-Hadi M. Aggoune,et al.  Competency-based engineering design courses development , 1998, Northcon/98. Conference Proceedings (Cat. No.98CH36264).

[40]  Marian Petre,et al.  Performance in international computer science collaboration between distributed student teams , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[41]  Lawrence G. Jones,et al.  A realistic, two-course sequence in large scale software engineering , 1983, SIGCSE '83.

[42]  Stephen Farrow,et al.  A Survey of Methods of Deriving Individual Grades from Group Assessments , 1996 .

[43]  Kenneth L. Modesitt,et al.  Academic software engineering: what is and what could be? Results of the first annual survey for international SE programs , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[44]  Alain Abran,et al.  Guide to the Software Engineering Body of Knowledge : 2004 Version , 2005 .

[45]  T. Swift,et al.  Wireless, Web-controlled, ball-collecting robot: an engineering and computer science cluster course , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[46]  Roseanne Tesoriero Tvedt,et al.  The Software Factory: An Undergraduate Computer Science Curriculum , 2002, Comput. Sci. Educ..

[47]  Ernest Ferguson,et al.  Video game development using XNA game studio and C#.Net , 2008 .

[48]  Judy Camp,et al.  Capstone course creates useful business products and corporate-ready students , 2004, SGCS.

[49]  Annegret Goold,et al.  Challenges in teaching capstone courses , 2003, ITiCSE.

[50]  Kiumi Akingbehin,et al.  A Capstone Design Course Based on Computing Curricula 1991 , 1994, Comput. Sci. Educ..

[51]  Muhammad Raza Ali Imparting effective software engineering education , 2006, SOEN.

[52]  Stephanie Ludi,et al.  An introductory software engineering course that facilitates active learning , 2005, SIGCSE '05.

[53]  Thomas J. Reichlmay Collaborating with industry: strategies for an undergraduate software engineering program , 2006, SSEE '06.

[54]  Jennifer A. Polack-Wahl Incorporating the client's role in a software engineering course , 1999, SIGCSE '99.

[55]  Andrew Gillies,et al.  A Large-Scale Software Engineering Group Project at the University of the West of England, Bristol , 1999, Comput. Sci. Educ..

[56]  David Hay,et al.  Skill set visualisation for software engineering job positions at varying levels of autonomy and responsibility , 2008 .

[57]  Spencer P. Magleby,et al.  A Survey of Capstone Engineering Courses in North America , 1995 .

[58]  Matthew C. Davis A student's perspective of a capstone course , 2000 .

[59]  Rebecca H. Rutherfoord Using personality inventories to help form teams for software engineering class projects , 2001, ITiCSE '01.

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

[61]  Rayford B. Vaughn Teaching Industrial Practices in an Undergraduate Software Engineering Course , 2001, Comput. Sci. Educ..

[62]  Massood Towhidnejad Incorporating software quality assurance in computer science education: an experiment , 2002, 32nd Annual Frontiers in Education.

[63]  Joseph M. Woodside HOMER: Home-Based Object-Relational Medical Electronic Record , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[64]  A. Clements Work in progress - Matching capstone projects to the student , 2007, 2007 37th Annual Frontiers In Education Conference - Global Engineering: Knowledge Without Borders, Opportunities Without Passports.

[65]  Leland L. Beck,et al.  A project-oriented undergraduate course sequence in software engineering , 1980, SIGCSE '80.

[66]  Watts S. Humphrey,et al.  Introduction to the Team Software Process , 1999 .

[67]  Mark J. Sebern Iterative development and commercial tools in an undergraduate software engineering course , 1997, SIGCSE '97.

[68]  W. Oakes,et al.  Teaching ethics and the social impact of engineering within a capstone course , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[69]  Barrett Koster,et al.  Agile methods fix software engineering course , 2006 .

[70]  J.C. Knight,et al.  Evaluating a software engineering project course model based on studio presentations , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[71]  Massood Towhidnejad,et al.  Software engineering emphasis in advanced courses , 1996, SIGCSE '96.

[72]  Thomas P. Way,et al.  A company-based framework for a software engineering course , 2005, SIGCSE '05.

[73]  Robert B. Heckendorn Building a Beowulf: Leveraging Research and Department Needs for Student Enrichment via Project Based Learning , 2002, Comput. Sci. Educ..

[74]  Dennis Fox,et al.  Personal theories of teaching , 1983 .

[75]  Christopher H. Nevison,et al.  Java resources for computer science instruction , 1998, ITiCSE-WGR '98.

[76]  Jürgen Börstler,et al.  Client sponsored projects in software engineering courses , 2003, SIGCSE.

[77]  Barbara M. Olds,et al.  A Model Curriculum for a Capstone Course in Multidisciplinary Engineering Design , 1994 .

[78]  Debbie Richards,et al.  Designing Project-Based Courses with a Focus on Group Formation and Assessment , 2009, TOCE.

[79]  Timothy Huang,et al.  The game of go: an ideal environment for capstone and undergraduate research projects , 2003, SIGCSE.

[80]  Joseph Catanio An interdisciplinary practical approach to teaching the software development life-cycle , 2006, SIGITE '06.

[81]  Michael Bremer The user manual manual : how to research, write, test, edit, and produce a software manual , 1999 .

[82]  A. T. Chamillard,et al.  The software engineering capstone: structure and tradeoffs , 2002, SIGCSE '02.

[83]  Study-in-Depth The challenge of connecting learning , 1991 .

[84]  James M. Hogan,et al.  Developing the Software Engineering Team , 2005, ACE.

[85]  Rob Palethorpe Team Roles at Work (2nd edition) , 2011 .

[86]  Linda M. Northrop,et al.  Success with the project-intensive model for an undergraduate software engineering course , 1989, SIGCSE '89.

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

[88]  Chang Liu Software project demonstrations as not only an assessment tool but also a learning tool , 2006, SIGCSE '06.

[89]  David Cordes,et al.  Computer engineering, computer science and management information systems: partners in a unified software engineering curriculum , 1998, Proceedings 11th Conference on Software Engineering Education.

[90]  Tony Clear Computing capstone projects and the role of failure in education , 2007, SGCS.

[91]  Spencer P. Magleby,et al.  A Review of Literature on Teaching Engineering Design Through Project‐Oriented Capstone Courses , 1997 .

[92]  Anders Berglund,et al.  Reflections on International Projects in Undergraduate CS Education , 1999, Comput. Sci. Educ..

[93]  James T. Streib,et al.  A survey of computer science curricula at liberal arts colleges: a pilot study , 2002 .

[94]  James E. Tomayko,et al.  Norm Gibbs and his contribution to software engineering education through the SEI curriculum modules , 2003, Proceedings 16th Conference on Software Engineering Education and Training, 2003. (CSEE&T 2003)..

[95]  Lawrence J. Mazlack Using a sales incentive technique in a first course in software engineering , 1981, SIGCSE '81.

[96]  David C. Leonard,et al.  Learning Theories: A to Z , 2002 .

[97]  Rose Shumba Usability of Rational Rose and Visio in a software engineering course , 2005, SGCS.

[98]  Martin Dick,et al.  Using Extreme Programming in a Capstone Project , 2004, ACE.

[99]  Marie Devlin,et al.  Using Facebook to improve communication in undergraduate software development teams , 2009, Comput. Sci. Educ..

[100]  Hossein Saiedian Organizing and Managing Software Engineering Team Projects , 1996, Comput. Sci. Educ..

[101]  M HadfieldSteven,et al.  Crafting a software engineering capston project course , 2007 .

[102]  P. Brazier,et al.  A software engineering senior design project inherited from a partially implemented software engineering class project , 2007, 2007 37th Annual Frontiers In Education Conference - Global Engineering: Knowledge Without Borders, Opportunities Without Passports.

[103]  Dianne Hagan,et al.  Industrial Experience Projects: A Balance of Process and Product , 1999, Comput. Sci. Educ..

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

[105]  Leslie J. Waguespack,et al.  A workbench for project oriented software engineering courses , 1984, SIGSCE '84.

[106]  Mats Daniels,et al.  Learning from students: continuous improvement in international collaboration , 2002, ITiCSE '02.

[107]  Annegret Goold,et al.  Issues in Informing Science and Information Technology Students' Pedagogical Preferences in the Delivery of It Capstone Courses , 2022 .

[108]  Martin Dick,et al.  Teaching tools for software engineering education , 2000, ITiCSE '00.

[109]  Robert F. Dugan,et al.  Writing for computer science: a taxonomy of writing tasks and general advice , 2006 .

[110]  K. Gary,et al.  Work in progress - the software enterprise , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[111]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[112]  Said Hadjerrouit Constructivism as guiding philosophy for software engineering education , 2005, SGCS.

[113]  Sharon M. Tuttle A capstone course for a computer information systems major , 2000, SIGCSE '00.

[114]  C. Scharff,et al.  Preparing Computer Science Students for Global Software Development , 2006, Proceedings. Frontiers in Education. 36th Annual Conference.

[115]  J. T. Emanuel,et al.  Team oriented capstone design course management: a new approach to team formulation and evaluation , 1989, Proceedings 1989 Frontiers in Education Conference.

[116]  Hong Zhang,et al.  Providing an integrated software development environment for undergraduate software engineering courses , 2007 .

[117]  Peter Freeman,et al.  Software engineering education: a survey , 1984, SGCS.

[118]  Amer Diwan,et al.  Student culture vs group work in computer science , 2004, SIGCSE '04.

[119]  Daisy Mwanza,et al.  Where Theory Meets Practice: A Case for an Activity Theory Based Methodology to Guide Computer System Design , 2001, INTERACT.

[120]  Matthew Merzbacher,et al.  Teaching database management systems with Java , 2000, SIGCSE '00.

[121]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[122]  Tim Rhodus,et al.  Toward a Philosophy for Capstone Courses in Horticulture , 1995 .

[123]  John Phillips,et al.  Incorporating service learning into computer science courses , 2005 .

[124]  Mats Daniels,et al.  A learning theory perspective on running open ended group projects (OEGPs) , 2008, ACE '08.

[125]  L. H. Werth,et al.  Survey of software engineering education , 1987, SOEN.

[126]  Paul M. Leidig,et al.  The use of community-based non-profit organizations in information systems capstone projects , 2006, ITICSE '06.

[127]  Jason Caudill,et al.  Implementing an interdisciplinary capstone course for associate degree information technology programs , 2004, CITC5 '04.

[128]  Walter E. Oliu,et al.  Handbook of technical writing , 1983, IEEE Transactions on Professional Communication.

[129]  David H. Hutchens,et al.  Using iterative enhancement in undergraduate software engineering courses , 1996, SIGCSE '96.

[130]  Hassan Pournaghshband The students' problems in courses with team projects , 1990, SIGCSE '90.

[131]  Michael V. Stein Student effort in semester-long and condensed capstone project courses , 2003 .

[132]  A.S. Ruocco,et al.  A pilot senior CS capstone sequence for CS majors and nonmajors , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

[133]  Carl Alphonce,et al.  Benefits of using socially-relevant projects in computer science and engineering education , 2004, SIGCSE '04.

[134]  Manmahesh Kantipudi,et al.  Assessing the software process maturity of software engineering courses , 1994, SIGCSE.

[135]  Kian L. Pokorny Constructing a Beowulf cluster as a pedagogical tool , 2005 .

[136]  Ian Parberry,et al.  Experience with an industry-driven capstone course on game programming: extended abstract , 2005, SIGCSE '05.

[137]  J.A. Polack-Wahl It is time to stand up and communicate [computer science courses] , 2000, 30th Annual Frontiers in Education Conference. Building on A Century of Progress in Engineering Education. Conference Proceedings (IEEE Cat. No.00CH37135).

[138]  James H. Cross,et al.  Team Selection Methods for Student Programming Projects , 1995, CSEE.

[139]  Robert F. Roggio A model for the software engineering capstone sequence using the Rational Unified Process® , 2006, ACM-SE 44.

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

[141]  Hans van Vliet Some myths of software engineering education , 2005, ICSE.

[142]  Ann E. Kelley Sobel Experience integrating a formal method into a software engineering course , 1996, SIGCSE '96.

[143]  Adel M. Abunawass,et al.  Computer ethics: a capstone course , 1994, ECA '94.

[144]  Martin L. Griss,et al.  A story-centered, learn-by-doing approach to software engineering education , 2008, SIGCSE '08.

[145]  W.T. Neumann,et al.  A comparison of alternative approaches to the capstone experience: case studies versus collaborative projects , 1998, FIE '98. 28th Annual Frontiers in Education Conference. Moving from 'Teacher-Centered' to 'Learner-Centered' Education. Conference Proceedings (Cat. No.98CH36214).

[146]  Tim DeClue A comprehensive Capstone project in Computer Science I: getting the (instant) message , 2007 .

[147]  Orit Hazzan,et al.  A framework for teaching software development methods , 2005, Comput. Sci. Educ..

[148]  Orest Pilskalns An entrepreneurial approach to project-based courses , 2009, Comput. Sci. Educ..

[149]  David Cordes,et al.  Incorporating re-use into a software engineering course with Ada , 1993, WADAS '93.

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

[151]  James S. Collofello Monitoring and evaluating individual team members in a software engineering course , 1985, SIGCSE '85.

[152]  David G. Kay Computer scientists can teach writing: an upper division course for computer science majors , 1998, SIGCSE '98.

[153]  Joseph Monroe,et al.  A software engineering using Ada 95 course , 1998, ALET.

[154]  Tiffany Barnes,et al.  Game2Learn: building CS1 learning games for retention , 2007, ITiCSE.

[155]  A.S. Ruocco,et al.  Implementation issues for CS majors and nonmajors in a senior CS capstone sequence , 1998, FIE '98. 28th Annual Frontiers in Education Conference. Moving from 'Teacher-Centered' to 'Learner-Centered' Education. Conference Proceedings (Cat. No.98CH36214).

[156]  Tony Clear Teaching on the wiki web , 2002, ITiCSE '02.

[157]  Janet E. Burge Exploiting Multiplicity to Teach Reliability and Maintainability in a Capstone Project , 2007, 20th Conference on Software Engineering Education & Training (CSEET'07).

[158]  Judy Cushing,et al.  Towards best practices in software teamwork , 2003 .

[159]  D. Rundus,et al.  The capstone senior design course: an initiative in partnering with industry , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[160]  Douglas D. Bickerstaff,et al.  A light-weight software engineering approach to developing small-scale information systems using .NET 2.0 , 2006 .

[161]  Martin Dick,et al.  Tool Support for Teaching the Personal Software Process , 2000, Comput. Sci. Educ..

[162]  Sita Ramakrishnan MUSE studio lab and innovative software engineering capstone project experience , 2003, ITiCSE.

[163]  Robert E. Beasley Conducting a successful senior capstone course in computing , 2003 .

[164]  Chang Liu Enriching software engineering courses with service-learning projects and the open-source approach , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[165]  Gary Ford The progress of undergraduate software engineering education , 1994, SGCS.

[166]  Chia-Chu Chiang Teaching a formal method in a software engineering course , 2004 .

[167]  Mike Holcombe,et al.  Keeping Our Customers Happy: Myths and Management Issues in "Client-Led" Student Software Projects , 1999, Comput. Sci. Educ..

[168]  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.

[169]  Scott N. Woodfield,et al.  A project-unified software engineering course sequence , 1982, SIGCSE '82.

[170]  Gary Ford A software engineering approach to first year computer science courses , 1982, SIGCSE '82.

[171]  Edward L. Jones Testing in the capstone course - reusable patterns for a value-added experience , 2002 .

[172]  Rad Alrifai A project approach for teaching software architecture and web services in a software engineering course , 2008 .

[173]  A.E.K. Sobel,et al.  Computing curricula-software engineering volume. SEEK development and review , 2002, 32nd Annual Frontiers in Education.

[174]  David Coppit,et al.  Large team projects in software engineering courses , 2005, SIGCSE '05.

[175]  Reed Elliot Nelson,et al.  Managed Group Formation: An Approach to Team Formation in Policy Courses. , 1994 .

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

[177]  Lisa Lancor Collaboration tools in a one-semester software engineering course: what worked? what didn't? , 2008 .

[178]  Sandra Gorka,et al.  Developing realistic capstone projects in conjunction with industry , 2007, SIGITE '07.

[179]  Jagdish C. Agrawal,et al.  Undergraduate courses needed in Ada and software engineering , 1985, SIGCSE '85.

[180]  Adair Dingle,et al.  Ensuring capstone project success for a diverse student body , 2004 .

[181]  Roger D. Boyle,et al.  A Personal Theory of Teaching Computing Through Final Year Projects , 1999, Comput. Sci. Educ..

[182]  Dean Sanders,et al.  Developing senior capstone projects: panel discussion , 2004 .

[183]  Z. Alzamil Towards an effective software engineering course project , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[184]  Arturo I. Concepcion,et al.  Using an object-oriented software life-cycle model in the software engineering course , 1998, SIGCSE '98.

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

[186]  Michael F. Bosco Teaching Software Engineering by Reverse Engineering , 1991, Comput. Sci. Educ..

[187]  Steven M. Hadfield,et al.  Crafting a software engineering capston project course , 2007 .

[188]  Sharon A. Stansfield,et al.  An introductory VR course for undergraduates incorporating foundation, experience and capstone , 2005, SIGCSE '05.

[189]  Richard E. Fairley,et al.  Essential elements of software engineering education , 1976, ICSE '76.

[190]  Orit Hazzan,et al.  eXtreme programming as a framework for student-project coaching in computer science capstone courses , 2003, Proceedings 2003 Symposium on Security and Privacy.

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

[192]  Ross Grable,et al.  Information characteristics for the curriculum , 2003, SGCS.