Proceedings of the 52nd ACM Technical Symposium on Computer Science Education | 2021

Pattern Census: A Characterization of Pattern Usage in Early Programming Courses

 
 

Abstract


Expert programmers rarely think at the syntactic level. Instead, they think at higher levels of abstraction, mentally chunking groups of syntactic elements into a single abstraction. Explicitly teaching common chunks in early programming courses has been proposed in the research literature using the term pattern-oriented instruction , but this practice appears not to be emphasized, nor is there a consensus about which patterns to teach or in what order. In this paper, we explore the set of patterns that students are expected to learn, independent of whether they are taught explicitly or must learn implicitly. Specifically, we studied the instructor solutions to homework and exams from 12 introductory CS courses from nine universities, identifying the presence of 15 patterns throughout the semester. We present results about the relative frequency of the patterns and the order in which the patterns tend to be introduced.

Volume None
Pages None
DOI 10.1145/3408877.3432442
Language English
Journal Proceedings of the 52nd ACM Technical Symposium on Computer Science Education

Full Text