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

Vighnesh Iyer, Craig Zilles

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationSIGCSE 2021 - Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
PublisherAssociation for Computing Machinery, Inc
Pages45-51
Number of pages7
ISBN (Electronic)9781450380621
DOIs
StatePublished - Mar 3 2021
Event52nd ACM Technical Symposium on Computer Science Education, SIGCSE 2021 - Virtual, Online, United States
Duration: Mar 13 2021Mar 20 2021

Publication series

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

Conference

Conference52nd ACM Technical Symposium on Computer Science Education, SIGCSE 2021
CountryUnited States
CityVirtual, Online
Period3/13/213/20/21

Keywords

  • CS1
  • pattern-oriented instruction
  • patterns
  • plans
  • schema

ASJC Scopus subject areas

  • Computer Science(all)
  • Education

Fingerprint Dive into the research topics of 'Pattern Census: A Characterization of Pattern Usage in Early Programming Courses'. Together they form a unique fingerprint.

Cite this