Integrating pedagogical code reviews into a CS 1 course: an empirical study

  • Authors:
  • Christopher Hundhausen;Anukrati Agrawal;Dana Fairbrother;Michael Trevisan

  • Affiliations:
  • Washington State University, Pullman, WA, USA;Washington State University, Pullman, WA, USA;Washington State University, Pullman, WA, USA;Washington State University, Pullman, WA, USA

  • Venue:
  • Proceedings of the 40th ACM technical symposium on Computer science education
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Formal code inspections are employed by teams of professional software engineers to identify software defects and improve the quality of software. After reviewing a piece of code individually, members of an inspection team come together to log the issues they have found, and to find new ones. Within the scope of a multi-institutional research project to adapt, refine, and evaluate studio-based learning methods in computing education, we are developing an adaptation of the formal code inspection called the pedagogical code review for use in lower-division computer science courses. In a pedagogical code review, a group of three to four students, led by a trained moderator, (a) walk through segments of each other's programming assignments, (b) check the code against a list of best coding practices, and (c) discuss and log issues that arise. We implemented pedagogical code inspections in three lab sessions of a CS 1 course. Through an analysis of inspection logs and exit surveys, we compiled evidence that the reviews improved the quality of students' code, stimulated increasingly sophisticated discussions of programming issues and practices, and promoted a sense of community.