TL;DR
This paper proposes a novel feedback approach for block-based programming learners by introducing 'code perfumes' that highlight correct practices, complementing traditional error-focused tools to better motivate and assess learners.
Contribution
It introduces the concept of code perfumes as positive feedback in automated tools, and empirically demonstrates their prevalence and correlation with program quality in Scratch.
Findings
Better programs contain more code perfumes.
Code perfumes are frequent in Scratch programs.
Positive feedback can complement traditional linting.
Abstract
Block-based programming languages like Scratch enable children to be creative while learning to program. Even though the block-based approach simplifies the creation of programs, learning to program can nevertheless be challenging. Automated tools such as linters therefore support learners by providing feedback about potential bugs or code smells in their programs. Even when this feedback is elaborate and constructive, it still represents purely negative criticism and by construction ignores what learners have done correctly in their programs. In this paper we introduce an orthogonal approach to linting: We complement the criticism produced by a linter with positive feedback. We introduce the concept of code perfumes as the counterpart to code smells, indicating the correct application of programming practices considered to be good. By analysing not only what learners did wrong but also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
