Talking in Code: Code Review as a Form of Communication


Regina Lisinker (University of Minnesota, Twin Cities), Andrew Zieffler (University of Minnesota, Twin Cities) , Chelsey Legacy (University of Minnesota, Twin Cities)


Abstract

Background. As data science continues to rise, it is important to provide students with the appropriate skills to succeed in the field. Beyond learning a coding language, students should know how to communicate with other programmers, provide feedback, and understand project workflow. The process of code review teaches these skills, along with many others. While code review is a commonplace standard in industry, it is not often implemented in data science classrooms. This study aims to gain insights into students’ code review habits and develop tools to help promote good code review practices. Methods. The NSF-funded DSC-WAV project pairs teams of undergraduate data science majors with local community organizations to give students real world experience wrangling, analyzing, and visualizing data. Team interviews conducted with the previous cohort of DSC-WAV students were used to establish a baseline understanding of students’ code review habits. Students in the current cohort were given code review resources to utilize during the latter half of their projects. More data was collected through surveying students and interviewing their faculty advisors after the code review implementation. Findings. The results presented in this poster will include an analysis of survey responses which highlight team dynamics and decision-making processes, project organization, and student usage of code review supplementary resources. Additionally, results from the faculty interviews identified advisor involvement, promotion of created supplementary materials, and informal assessment of skills gained by students. Implications. This work provides resources and pedagogical practices to implement peer code review in the classroom. Results show how undergraduate data science majors conduct code review, identify skills gained, and shed light on the challenges of implementation. Future work could develop code review activities within a traditional course, build on code review resources, and attempt to mitigate the challenges of code review implicit in a classroom setting.


register