skip to main content
research-article

Talking about code: Integrating pedagogical code reviews into early computing courses

Published: 16 August 2013 Publication History

Abstract

Given the increasing importance of soft skills in the computing profession, there is good reason to provide students with more opportunities to learn and practice those skills in undergraduate computing courses. Toward that end, we have developed an active learning approach for computing education called the Pedagogical Code Review (PCR). Inspired by the code inspection process used in the software industry, a PCR is a collaborative activity in which a small team of students, led by a trained moderator: (a) walk through segments of each other's programming solutions, (b) check the code against a list of best coding practices, and (c) discuss and log issues that arise. To evaluate the viability and effectiveness of this approach, we conducted a series of four mixed-method empirical studies of various implementations of PCRs in CS1 courses at Washington State University. The first study validated the viability of the PCR activity. Using a quasi-experimental design, the final three studies evaluated two alternative implementations of PCRs—face-to-face and online. Our results provide evidence that PCRs can promote positive attitudinal shifts, and hone skills in critical review, teamwork, and communication. Based on our findings, we present a set of best practices for implementing PCRs.

References

[1]
Agrawal, A. 2009. The evolution of an online environment to support the studio-based pedagogical approach for computing education. Unpublished M.S. thesis, School of Electrical Engineering and Computer Science, Washington State University. http://publicationslist.org/data/helplab/ref-84/A_Agrawal_MS_Thesis.pdf.
[2]
Amador, J. A., Miles, L., and Peters, C. B. 2006. The Practice of Problem-Based Learning: A Guide to Implementing PBL in the College Classroom. Jossey Bass, San Francisco.
[3]
Anewalt, K. 2005. Using peer review as a vehicle for communication skill development and active learning. J. Comput. Sci. Colleges 21, 2, 148--155.
[4]
Bandura, A. 1997. Self-Efficacy: The Exercise of Control. Worth Publishers.
[5]
Bandura, A., Barbaranelli, C., Caprara, G. V., and Pastorelli, C. 2001. Self-efficacy beliefs as shapers of children's aspirations and career trajectories. Child Devel. 72, 1, 187--206.
[6]
Barker, P. 2011. Soft skills important for it job candidates. Montreal Gazette. http://www2.canada.com/montrealgazette/news/archives/story.html?id=a90c9d79-48ac-4890-b505-89fd4c0cc706.
[7]
Begel, A. and Simon, B. 2008. Novice software developers, all over again. In Proceedings of the 4th International Workshop on Computing Education Research. ACM Press, New York, 3--14.
[8]
Beichner, R. J. and Saul, J. M. 2003. Introduction to the SCALE-UP project. In Proceedings of the International School of Physics.
[9]
Boyer, E. L. and Mitgang, L. D. 1996. Building Community: A New Future for Architecture Education and Practice. The Carnegie Foundation for the Advancement of Teaching, Princeton, NJ.
[10]
Braught, G., MacCormick, J., and Wahls, T. 2010. The benefits of pairing by ability. In Proceedngs of the 41st ACM Technical Symposium on Computer Science Education. ACM Press, New York, 249--253.
[11]
Cennamo, K., Douglas, S., Vernon, M., Brandt, C., Scott, B., et al. 2011. Promoting creativity in the computer science design studio. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education. ACM Press, New York, 649--654.
[12]
Docherty, M., Sutton, P., Brereton, M., and Kaplan, S. 2001. An innovative design and studio-based cs degree. In Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 233--237.
[13]
Dougimas, M. and Taylor, P. C. 2003. Moodle: Using learning communities to create an open-source course management system. In Proceedings of the World Conference on Educational Multimedia, Hypermedia and Telecommunications (EDMEDIA'03). AACE.
[14]
Elliott, J. 1991. Action Research for Educational Change. Open University Press, Philadelphia, PA.
[15]
Faro, S. and Swan, K. 2006. An investigation of the efficacy of the studio model at the high school level. J. Educ. Comput. Res. 35, 1, 45--59.
[16]
Fitzgerald, B. 2011. The jobs of tomorrow. New York Times. http://www.nytimes.com/roomfordebate/2011/03/20/career-counselor-bill-gates-or-steve-jobs/what-are-the-jobs-of-tomorrow.
[17]
Gehringer, E. F. 2001. Electronic peer review and peer grading in computer science courses. In Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 139--143.
[18]
Gehringer, E. F., Chinn, D., Mardis, M., and Perez-Quinones, M. 2005. Panel: Using peer review in teaching computing. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 321--322.
[19]
Gilb, T. and Graham, D. 1993. Software Inspection. Addison-Wesley, Menlo Park, CA.
[20]
Greenberg, S. 2009. Embedding a design studio course in a conventional computer science program. In Creativity and HCI: From Experience to Design in Education, P. Kotze, W. Wong, J. Jorge, A. Dix, and S.P. Alexandra, Eds., Springer, 23--41.
[21]
Hazzan, O. 2002. The reflective practitioner perspective in software engineering education. J. Syst. Softw. 63, 3, 161--171.
[22]
Hendrix, D., Myneni, L., and Narayanan, N. H. 2010. Adapting a studio-based model for cs2. In Proceedings of the ACM International Computing Education Research Workshop. ACM Press, New York.
[23]
Hubscher-Younger, T. and Narayanan, N. H. 2003. Constructive and collaborative learning of algorithms. In Proceedings of the ACM SIGCSE Symposium. ACM Press, New York, 6--10.
[24]
Hundhausen, C., Agrawal, A., Fairbrother, D., and Trevisan, M. 2010a. Does studio-based instruction work in cs1? An empirical comparison with a traditional approach. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education. ACM Press, New York, 500--504.
[25]
Hundhausen, C. D. 2002. Integrating algorithm visualization technology into an undergraduate algorithms course: Ethnographic studies of a social constructivist approach. Comput. Educ. 39, 3, 237--260.
[26]
Hundhausen, C. D., Agarwal, P., and Trevisan, M. 2011a. Online vs. face-to-face pedagogical code reviews: An empirical comparison. In Proceedings of the SIGCSE Symposium on Computer Science Education. ACM Press, New York, 117--122.
[27]
Hundhausen, C. D., Agrawal, A., Fairbrother, D., and Trevisan, M. 2009. Integrating pedagogical code reviews into a cs1 course: An empirical study. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education. ACM Press, New York, 291--295.
[28]
Hundhausen, C. D., Agrawal, A., and Ryan, K. 2010b. The design of an online environment to support pedagogical code reviews. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education. ACM Press, New York, 182--186.
[29]
Hundhausen, C. D. and Brown, J. L. 2008. Designing, visualizing, and discussing algorithms within a cs1 studio experience: An empirical study. Comput. Educ. 50, 1, 301--326.
[30]
Hundhausen, C. D., Fairbrother, D., and Petre, M. 2011b. The “prototype walkthrough”: A studio-based learning activity for human-computer interaction courses. In Proceedings of the ACM International Computing Education Research Workshop. ACM Press, New York, 117--124.
[31]
Hundhausen, C. D., Narayanan, N. H., and Crosby, M. E. 2008. Exploring studio-based instructional models for computing education. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 392--396.
[32]
Kehoe, C. M. 2001. Supporting critical design dialog. Doctoral dissertation, Georgia Institute of Technology, Atlanta, GA.
[33]
Kern, V. M., Saraiva, L. M., and Pacheco, R. C. D. S. 2003. Peer review in education: Promoting collaboration, written expression, critical thinking, and professional responsibility. Educ. Inf. Technol. 8, 1, 37--46.
[34]
Kussmaul, C. 2012. Process oriented guided inquiry learning (pogil) for computer science. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education. ACM Press, New York, 373--378.
[35]
Lackney, J. 1999. A history of the studio-based learning model. http://www.edi.msstate.edu/work/pdf/history_studio_based_learning.pdf.
[36]
Lasley-Hunter, B. and Preston, A. 2011. Systems, planning, research, development and engineering (sprde) workforce compentency assessment report. CNA Analysis and Solutions. https://dap.dau.mil/workforce/Documents/Comp/DoD%20ATL%20Defense%20Acquisition%20Workforce%20Competen-cy%20Model%20-%20SPRDE%20DoD%20Wide.pdf.
[37]
Lave, J. 1993. The practice of learning. In Understanding Practice: Perspectives on Activity and Context. Cambridge University Press, 3--32.
[38]
Lave, J. and Wenger, E. 1991. Situated Learning: Legitimate Peripheral Participation. Cambridge University Press, New York.
[39]
Lewis, C. and Rieman, J. 1994. Task-Centered User Interface Design: A Practical Introduction. University of Colorado, Boulder, CO.
[40]
Lister, B. 2001. Next generation studio: A new model for interactive learning. http://www.ciue.rpi.edu/pdfs/nextGenStudio.pdf.
[41]
Lynch, K., Carbone, A., Arnott, D., and Jamieson, P. 2002. A studio-based approach to teaching information technology. In Proceedings of the 7th World Conference on Computers in Education. ACM Press, New York, 75--79.
[42]
Mohan, S., Chenoweth, S., and Bohner, S. 2012. Towards a better capstone experience. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education. ACM Press, New York, 111--116.
[43]
Myneni, L., Ross, M., Hendrix, D., and Narayanan, N. H. 2008. Studio-based learning in CS2: An experience report. In Proceedings of the 46th ACM Southeast Conference (ACM-SE'08). ACM Press, New York, 253--255.
[44]
Perkins, D. 2005. The case for a cooperative studio classroom: Teaching petrology in a different way. J. Geosci. Educ. 53, 1, 101--109.
[45]
Pintrich, D., Smith, D., Garcia, T., and Mckeachie, W. 1991. A Manual for the Use of the Motivated Strategies for Learning Questionnaire. National Center for Research to Improve Postsecondary Teaching and Learning, Ann Arbor, MI.
[46]
Radermacher, A., Walia, G., and Rummelt, R. 2012. Assigning student programming pairs based on their mental model consistency: An initial investigation. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education. ACM Press, New York, 325--330.
[47]
Reily, K., Finnerty, P. L., and Terveen, L. 2009. Two peers are better than one: Aggregating peer reviews for computing assignments is surprisingly accurate. In Proceedings of the ACM International Conference on Supporting Group Work. ACM Press, New York, 115--124.
[48]
Reimer, Y. J., Cennamo, K., and Douglas, S. A. 2012. Emergent themes in a ui design hybrid-studio course. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education. ACM Press, New York, 625--630.
[49]
Reimer, Y. J. and Douglas, S. A. 2003. Teaching hci design with the studio approach. Comput. Sci. Educ. 13, 3, 191--205.
[50]
Rovai, A. P. 2002. Development of an instrument to measure classroom community. Internet Higher Educ. 5, 197--211.
[51]
Schön, D. 1983. The Reflective Practitioner: How Professionals Think in Action. Basic Books, New York.
[52]
Schön, D. 1990. Educating the Reflective Practitioner. Jossey-Bass Publishers, San Francisco.
[53]
Shadish, W. R., Cook, T. D., and Campbell, D. T. 2002. Experimental and Quasi-Experimental Designs for Generalized Causal Inference. Houghton Mifflin Company, Boston, MA.
[54]
Slavin, R. E. 1994. Cooperative Learning: Theory, Research and Practice. Allyn and Bacon, Boston, MA.
[55]
Suthers, D. and Xu, J. 2002. Kukakuka: An online environment for artifact-centered discourse. In Proceedings of the 11th World Wide Web Conference (WWW'02). 472--480.
[56]
Trivedi, A., Kar, D. C., and Patterson-Mcneill, H. 2003. Automatic assignment management and peer evaluation. J. Comput. Sci. Colleges 18, 4, 30--37.
[57]
Trytten, D. A. 2005. A design for team peer code review. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 455--459.
[58]
Wang, Y., Li, Y., Collins, M., and Liu, P. 2008. Process improvement of peer code review and behavior analysis of its participants. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 107--111.
[59]
Wiegers, K. 1995. Improving quality with software inspections. Softw. Devel. 3, 4, 55--64.
[60]
Williams, L. 2008. Introduction to Pair Programming. North Carolina State University.
[61]
Wilson, J. M. 1997. Studio teaching: When the future becomes the present. UniServe Sci. News 7, 3--5.
[62]
Woodley, M. and Kamin, S. N. 2007. Programming studio: A course for improving programming skills in undergraduates. SIGCSE Bull. 39, 1, 531--535.

Cited By

View all
  • (2024)Self-Regulation, Self-Efficacy, and Fear of Failure Interactions with How Novices Use LLMs to Solve Programming ProblemsProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653621(276-282)Online publication date: 3-Jul-2024
  • (2023)A Study on the Impact of Using 6E Model combined with the Self-efficacy Strategies for An AIoT Hands-on Activity to Students'STEM Career Interest, Learning Effectiveness and Behavior PatternProceedings of the 7th International Conference on Education and Multimedia Technology10.1145/3625704.3625710(180-185)Online publication date: 29-Aug-2023
  • (2023)Augmented Cognition Instructional Design for Studio-Based LearningAugmented Cognition10.1007/978-3-031-35017-7_17(250-268)Online publication date: 23-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 13, Issue 3
Special Issue on Alternatives to Lecture in the Computer Science Classroom
August 2013
122 pages
EISSN:1946-6226
DOI:10.1145/2499947
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 August 2013
Accepted: 01 April 2013
Revised: 01 October 2012
Received: 01 March 2012
Published in TOCE Volume 13, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Studio-based learning and instruction
  2. computer-supported collaborative learning
  3. pedagogical code reviews

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)71
  • Downloads (Last 6 weeks)4
Reflects downloads up to 01 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Self-Regulation, Self-Efficacy, and Fear of Failure Interactions with How Novices Use LLMs to Solve Programming ProblemsProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653621(276-282)Online publication date: 3-Jul-2024
  • (2023)A Study on the Impact of Using 6E Model combined with the Self-efficacy Strategies for An AIoT Hands-on Activity to Students'STEM Career Interest, Learning Effectiveness and Behavior PatternProceedings of the 7th International Conference on Education and Multimedia Technology10.1145/3625704.3625710(180-185)Online publication date: 29-Aug-2023
  • (2023)Augmented Cognition Instructional Design for Studio-Based LearningAugmented Cognition10.1007/978-3-031-35017-7_17(250-268)Online publication date: 23-Jul-2023
  • (2022)Developing a system to increase motivation and engagement in student code peer review2022 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE)10.1109/TALE54877.2022.00023(93-98)Online publication date: Dec-2022
  • (2022)The Princeton University Research Software Engineering Group Model: Operational and Organizational ApproachesComputing in Science and Engineering10.1109/MCSE.2023.326411324:5(24-31)Online publication date: 1-Sep-2022
  • (2022)Exploring the Impact of Student Learning and Programming Pedagogy while Adjusting to COVID-19 (An HBCU Case Study)2022 International Conference on Computational Science and Computational Intelligence (CSCI)10.1109/CSCI58124.2022.00356(1983-1987)Online publication date: Dec-2022
  • (2022)R Markdown as a dynamic interface for teaching: Modules from math and biology classroomsMathematical Biosciences10.1016/j.mbs.2022.108844(108844)Online publication date: May-2022
  • (2022)Educational Code-Review Tool: A First GlimpseMethodologies and Intelligent Systems for Technology Enhanced Learning, 12th International Conference10.1007/978-3-031-20617-7_15(113-122)Online publication date: 23-Nov-2022
  • (2021)Exploring Computational Thinking Skills Training Through Augmented Reality and AIoT LearningFrontiers in Psychology10.3389/fpsyg.2021.64011512Online publication date: 23-Feb-2021
  • (2021)PuzzleMe: Leveraging Peer Assessment for In-Class Programming ExercisesProceedings of the ACM on Human-Computer Interaction10.1145/34795595:CSCW2(1-24)Online publication date: 18-Oct-2021
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media