Towards generalizing expert programmers' suggestions for novice programmers

  • Michelle Ichinco
  • , Aaron Zemach
  • , Caitlin Kelleher

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

10 Scopus citations

Abstract

Novice programmers may lack the experience to recognize opportunities to either improve their code or apply unfamiliar programming constructs. Yet, these opportunities are often clear to an experienced programmer. In this paper, we describe an exploratory study investigating 1) the potential value of the suggestions experienced programmers make to novice programmers and 2) the ways experienced programmers envision identifying other programs that would benefit from the same suggestion. The results of our study suggest that experienced programmers make suggestions that can introduce new programming constructs to novice programmers. The participants in our study most commonly made suggestions that improve the code quality of novice programs, rather than changing their output. Furthermore, experienced programmers could often state a simple heuristic rule to use in identifying other novice programs that would benefit from their suggestion. Participants were able to author the rules in pseudocode, mostly using combinations of iteration and comparison to find patterns of problematic code. However, based on a test implementation of a selected set of rules for these suggestions, we conclude that support for improving rules through review and community input will be valuable.

Original languageEnglish
Title of host publicationProceedings - 2013 IEEE Symposium on Visual Languages and Human Centric Computing, VL/HCC 2013
Pages143-150
Number of pages8
DOIs
StatePublished - 2013
Event2013 IEEE Symposium on Visual Languages and Human Centric Computing, VL/HCC 2013 - San Jose, CA, United States
Duration: Sep 15 2013Sep 19 2013

Publication series

NameProceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC
ISSN (Print)1943-6092
ISSN (Electronic)1943-6106

Conference

Conference2013 IEEE Symposium on Visual Languages and Human Centric Computing, VL/HCC 2013
Country/TerritoryUnited States
CitySan Jose, CA
Period09/15/1309/19/13

Keywords

  • crowdsourcing
  • independent learning
  • novice programming
  • static code analysis

Fingerprint

Dive into the research topics of 'Towards generalizing expert programmers' suggestions for novice programmers'. Together they form a unique fingerprint.

Cite this