Teaching Programming to Novices: A Large-scale Analysis of App Inventor Projects
Nathalia da Cruz Alves, Christiane Gresse von Wangenheim, Jean, Carlo Rossa Hauck

TL;DR
This study analyzes over 88,000 App Inventor projects to understand programming concept usage among novices and compares it with Scratch, revealing differences in project structure and programming patterns relevant for education.
Contribution
It provides the first large-scale analysis of App Inventor projects, highlighting key differences from Scratch and informing curriculum design for teaching programming to novices.
Findings
Projects vary widely in size, with some exceeding 60,000 blocks.
Fewer design components are used compared to programming blocks, indicating complex logic per component.
App Inventor projects favor events over conditionals and loops, differing from Scratch patterns.
Abstract
Teaching programming to K-12 students has become essential. In this context, App Inventor is a popular block-based programming environment used by a wide audience, from K-12 to higher education, including end-users to create mobile applications to support their primary job or hobbies. Although learning programming with App Inventor has been investigated, a question that remains is which programming concepts are typically used and how this compares to other block-based programming environments. Therefore, we explore the characteristics of App Inventor projects through a large-scale analysis of 88,606 apps from the App Inventor Gallery. We discovered that the size of App Inventor projects varies from projects with very few blocks to some surprisingly large projects with more than 60,000 blocks. In general, much fewer design components are used than programming blocks, as typically, to…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
