How kids code and how we know: An exploratory study on the scratch repository

Efthimia Aivaloglou, Felienne Hermans

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

Abstract

Block-based programming languages like Scratch, Alice and Blockly are becoming increasingly common as introductory languages in programming education. There is substantial research showing that these visual programming environments are suitable for teaching programming concepts. But, what do people do when they use Scratch? In this paper we explore the characteristics of Scratch programs. To this end we have scraped the Scratch public repository and retrieved 250,000 projects. We present an analysis of these projects in three di erent dimensions. Initially, we look at the types of blocks used and the size of the projects. We then investigate complexity, used abstractions and programming concepts. Finally we detect code smells such as large scripts, dead code and duplicated code blocks. Our results show that 1) most Scratch programs are small, however Scratch programs consisting of over 100 sprites exist, 2) programming abstraction concepts like procedures are not commonly used and 3) Scratch programs do su er from code smells including large scripts and unmatched broadcast signals.

Original languageEnglish
Title of host publicationICER 2016 - Proceedings of the 2016 ACM Conference on International Computing Education Research
PublisherAssociation for Computing Machinery, Inc
Pages53-61
Number of pages9
ISBN (Electronic)9781450344494
DOIs
Publication statusPublished - 25 Aug 2016
Externally publishedYes
Event12th Annual International Computing Education Research Conference, ICER 2016 - Melbourne, Australia
Duration: 8 Sep 201612 Sep 2016

Publication series

NameICER 2016 - Proceedings of the 2016 ACM Conference on International Computing Education Research

Conference

Conference12th Annual International Computing Education Research Conference, ICER 2016
CountryAustralia
CityMelbourne
Period8/09/1612/09/16

Keywords

  • Block-based languages
  • Code smells
  • Programming practices
  • Scratch
  • Static analysis

Fingerprint

Dive into the research topics of 'How kids code and how we know: An exploratory study on the scratch repository'. Together they form a unique fingerprint.

Cite this