How kids code and how we know: An Exploratory Study on the Scratch Repository

Efthimia Aivaloglou, Felienne Hermans

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

99 Citations (Scopus)

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 different 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 suffer from code smells including large scripts and unmatched broadcast signals.
Original languageEnglish
Title of host publicationICER'16 Proceedings of the 2016 ACM Conference on International Computing Education Research
EditorsJ. Sheard, J. Tenenberg, D. Chinn, B. Dorn
Place of PublicationNew York
PublisherAssociation for Computing Machinery (ACM)
Pages53-61
Number of pages9
ISBN (Print)978-1-4503-4449-4
DOIs
Publication statusPublished - Sept 2016
EventICER'16 The 2016 ACM Conference on International Computing Education Research - Melbourne, Australia
Duration: 8 Sept 201612 Sept 2016

Conference

ConferenceICER'16 The 2016 ACM Conference on International Computing Education Research
Country/TerritoryAustralia
CityMelbourne
Period8/09/1612/09/16

Keywords

  • Scratch
  • block-based languages
  • programming practices
  • code smells
  • 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