Identifying and Addressing the Gap Between How Students and Professionals Read Code
Loading...
Date
Authors
Woerner, Matthew Stephen
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
This project investigated and addressed the questions of: a) how do students and professional software developers read novel codebases, and b) how can we help students learn to better read
code.
Our Spring 2023 study, seen in Appendix A, used semi-structured interviews and code reading
exercises to identify and quantify several differences in the ways students and professional
software developers read novel codebases. Students tended to face more difficulty with these
reading tasks than the professionals due to an apparent lack of structured code reading process and
an over reliance on making unverified assumptions about the code. We focused on three particular
anti-patterns. Our interview data also indicated that the lack of a structured code reading process
complicates transitioning into a professional atmosphere post degree, requiring new professional
software developers to learn these skills on the job.
Based upon the results, we developed a module to teach students a structured way to read code
in novel codebases, and to assess their improvement. The module was integrated into the Fall 2023
quarter of CSS 390 (Software Engineering Studio). Students worked their way through a variety
of formative exercises leading up to a final summative assessment where they were evaluated on
their performance improvement throughout the module as well as how they compared to a prior
group of students given a similar assessment in the Spring quarter. Comparing the number of code
reading anti-patterns exhibited by both groups, we found that the students who completed the
module were much less likely to trace into files outside of the code path, were more likely to follow
all stack traces in a code reading challenge, and were less likely to make uncorrected
misinterpretations about a codebase.
Description
Thesis (Master's)--University of Washington, 2024
