ABSTRACT
Many courses incorporate exercises at the end of the semester to help students review course topics. In computer science courses, review activities are often small coding problems, interactive games, or review lectures. In this paper, we describe our experience with replacing student-led review presentations with a collaborative software engineering exercise to serve as a review of CS1 programming concepts. The objective of this review exercise is to increase engagement and self-reflection on course topics by engineering a real-world software application to help students review programming concepts and prepare for the subsequent CS1.5 course. During the final two weeks of the course, students spend three class sessions working to complete the comprehensive exercise. During the final class session, each team presents its software. In this paper, we describe the comprehensive exercise, lessons learned from the past eight semesters (over 1,400 students), and suggestions for adopting the comprehensive exercise in other CS1 courses.
- Martin L. Barrett. 1996. Emphasizing Design in CS1. In Proceedings of the Twentyseventh SIGCSE Technical Symposium on Computer Science Education (SIGCSE '96). ACM, New York, NY, USA, 315--318. https://doi.org/10.1145/236452.236563Google ScholarDigital Library
- Kristy Elizabeth Boyer, Rachael S. Dwight, Carolyn S. Miller, C. Dianne Raubenheimer, Matthias F. Stallmann, and Mladen A. Vouk. 2007. A Case for Smaller Class Size with Integrated Lab for Introductory Computer Science. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '07). ACM, New York, NY, USA, 341--345. https://doi.org/10.1145/1227310.1227430Google Scholar
- Rebecca Brent and Richard M. Felder. 2015. New Faculty Orientation Workshop. In North Carolina State University.Google Scholar
- Sue Carson. 2019. Advancing Critical and Creative Thinking through Institutional Transformation. In The RC20/20 Project: A digital publication of the Reinvention Collaborative. https://www.rc-2020.org/carsonGoogle Scholar
- Wei Kian Chen and Brian R. Hall. 2013. Applying Software Engineering in CS1. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '13). ACM, New York, NY, USA, 297--302. https://doi.org/10.1145/2462476.2462480Google Scholar
- Tim DeClue. 2007. A Comprehensive Capstone Project in Computer Science I: Getting the (Instant) Message. J. Comput. Sci. Coll. 22, 4 (April 2007), 56--61. http://dl.acm.org/citation.cfm?id=1229637.1229647Google Scholar
- Stephen H. Edwards. 2003. Improving Student Performance by Evaluating How Well Students Test Their Own Programs. J. Educ. Resour. Comput. 3, 3, Article 1 (Sept. 2003). https://doi.org/10.1145/1029994.1029995Google ScholarDigital Library
- Judith L. Gersting. 1994. A Software Engineering &Ldquo;Frosting&Rdquo; on a Traditional CS-1 Course. In Proceedings of the Twenty-fifth SIGCSE Symposium on Computer Science Education (SIGCSE '94). ACM, New York, NY, USA, 233--237. https://doi.org/10.1145/191029.191129Google ScholarDigital Library
- Sarah Heckman and Jason King. 2018. Developing Software Engineering Skills Using Real Tools for Automated Grading. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE '18). ACM, New York, NY, USA, 794--799. https://doi.org/10.1145/3159450.3159595Google ScholarDigital Library
- Cecily Heiner. 2014. Stages of GroupWork in CS1. J. Comput. Sci. Coll. 30, 2 (Dec. 2014), 79--84. http://dl.acm.org/citation.cfm?id=2667432.2667443Google Scholar
- Thomas B. Hilburn, Iraj Hirmanpour, and Andrew Kornecki. 1995. The integration of software engineering into a computer science curriculum. In Software Engineering Education, Rosalind L. Ibrahim (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 87--97.Google Scholar
- Karen A. Jehn and Elizabeth A. Mannix. 2001. The Dynamic Nature of Conflict: A Longitudinal Study of Intragroup Conflict and Group Performance. The Academy of Management Journal 44, 2 (2001), 238--251. http://www.jstor.org/stable/3069453Google Scholar
- Celine Latulipe, N. Bruce Long, and Carlos E. Seminario. 2015. Structuring Flipped Classes with Lightweight Teams and Gamification. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE '15). ACM, New York, NY, USA, 392--397. https://doi.org/10.1145/2676723.2677240Google ScholarDigital Library
- Misty L. Loughry, Matthew W. Ohland, and D. DeWayne Moore. 2007. Development of a Theory-Based Assessment of Team Member Effectiveness. Educational and Psychological Measurement 67, 3 (2007), 505--524. https://doi.org/10.1177/ 0013164406292085 arXiv:https://doi.org/10.1177/0013164406292085Google ScholarCross Ref
- Renée McCauley and Ursula Jackson. 1999. Teaching Software Engineering Early: Experiences and Results. SIGCSE Bull. 31, 2 (June 1999), 86--91. https: //doi.org/10.1145/571535.571580Google Scholar
- Nachiappan Nagappan, Laurie Williams, Laurie Williams, Miriam Ferzli, Eric Wiebe, Kai Yang, Carol Miller, and Suzanne Balik. 2003. Improving the CS1 Experience with Pair Programming. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '03). ACM, New York, NY, USA, 359--362. https://doi.org/10.1145/611892.612006Google ScholarDigital Library
- Comprehensive Assessment of Team Member Effectiveness (CATME). 2019. (2019). www.CATME.orgGoogle Scholar
- MatthewW. Ohland, Misty L. Loughry, David J.Woehr, Lisa G. Bullard, Richard M. Felder, Cynthia J. Finelli, Richard A. Layton, Hal R. Pomeranz, and Douglas G. Schmucker. 2012. The Comprehensive Assessment of Team Member Effectiveness: Development of a Behaviorally Anchored Rating Scale for Self- and Peer Evaluation. Academy of Management Learning & Education 11, 4 (2012), 609--630. http://www.jstor.org/stable/23412348Google ScholarCross Ref
- S. Ron Oliver and John Dalbey. 1994. A Software Development Process Laboratory for CS1 and CS2. In Proceedings of the Twenty-fifth SIGCSE Symposium on Computer Science Education (SIGCSE '94). ACM, New York, NY, USA, 169--173. https://doi.org/10.1145/191029.191097Google ScholarDigital Library
- Saquib Razak. 2013. A Case for Course Capstone Projects in CS1. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE '13). ACM, New York, NY, USA, 693--698. https://doi.org/10.1145/2445196.2445398Google ScholarDigital Library
- Terrel Rhodes. 2010. Assessing outcomes and improving achievement: Tips and tools for using rubrics. Association of American Colleges and Universities,Washington, DC.Google Scholar
- Jessica Young Schmidt. 2019. Comprehensive Exercise Replication Materials. (2019). https://github.com/SOS-CER/SOS-CER.github.ioGoogle Scholar
- North Carolina State University. 2015. TH!NK Common Rubric Rating Form. (2015). http://think.dasa.ncsu.edu/wp-content/uploads/sites/20/2015/ 09/Common-Rubric-2015-for-website.pdfGoogle Scholar
- North Carolina State University. 2018. TH!NK Common Rubric Rating Form. (2018). https://think.dasa.ncsu.edu/wp-content/uploads/sites/20/2018/05/11- Common-Rubric-2018.docx.pdfGoogle Scholar
- North Carolina State University. 2019. TH!NK Program. (2019). https://think. dasa.ncsu.edu/Google Scholar
- Timothy Urness. 2009. Assessment Using Peer Evaluations, Random Pair Assignment, and Collaborative Programing in CS1. J. Comput. Sci. Coll. 25, 1 (Oct. 2009), 87--93. http://dl.acm.org/citation.cfm?id=1619221.1619239Google Scholar
- Gerben S. Van der Vegt, Ben J. M. Emans, and Evert Van de Vliert. 2001. PATTERNS OF INTERDEPENDENCE IN WORK TEAMS: A TWO-LEVEL INVESTIGATION OF THE RELATIONS WITH JOB AND TEAM SATISFACTION. Personnel Psychology 54, 1 (2001), 51--69. https://doi.org/10.1111/j.1744- 6570.2001.tb00085.x arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1744- 6570.2001.tb00085.xGoogle ScholarCross Ref
- Anita Vila-Parrish, Tameshia Ballard Baldwin, Lina Battestilli, Hailey Queen, Jessica Young Schmidt, and Susan Carson. 2016. TH!NK: A Framework to Assess and Support Critical and Creative Thinking. In 2016 ASEE Annual Conference & Exposition. ASEE Conferences, New Orleans, Louisiana.Google ScholarCross Ref
- Laurie Williams. 2007. Lessons Learned from Seven Years of Pair Programming at North Carolina State University. SIGCSE Bull. 39, 4 (Dec. 2007), 79--83. https: //doi.org/10.1145/1345375.1345420Google ScholarDigital Library
Index Terms
- Reviewing CS1 Materials through a Collaborative Software Engineering Exercise: An Experience Report
Recommendations
Applying software engineering in CS1
ITiCSE '13: Proceedings of the 18th ACM conference on Innovation and technology in computer science educationThis paper introduces a method for incorporating software engineering concepts into the computer science curriculum earlier by using a structured project in CS1. The project is designed such that it must be completed using phases of a software ...
Teamwork in CS1: Student Learning and Experience with POGIL
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1Employers regularly list teamwork as one of the most desirable skills they are seeking in college graduates. This paper describes a study about the effect of teamwork on student learning and classroom culture in a CS1 college class. In Fall 2021, an ...
Software Projects in an Academic Environment
Software Engineering EducationThe "software hut" is a course project that is used in conjunction with a graduate-level course in software engineering. The purpose of this project is to give the students some "real world" experience with the design and implementation of software. ...
Comments