Evaluations of programming complexity in app inventor

Lisa L. Ruan, Evan W. Patton, Mike Tissenbaum

Research output: Chapter in Book/Report/Conference proceedingConference contribution


To understand computational thinking in App Inventor, it is important to be able to effectively evaluate computational complexity in block-based programming languages. In the past, there have been a handful of complexity measures proposed for text-based languages (Weyuker, 1988). In this paper, we will attempt to implement 2 such measures, Halstead’s Programming Effort and statement count, in App Inventor on a dataset of projects from 50 random users. The goal is to determine whether or not text programming standards for complexity can be generalized to block programming languages. This paper shows that the 2 complexity measures we implemented are not adequate measures for complexity in App Inventor. This result indicates a need for different measures of complexity that more accurately portray block programming proficiency. We hope this study will be a gateway into a better understanding of the intricacies of App Inventor’s block programming language and its unique contributions to the development of computational thinking.

Original languageEnglish (US)
Title of host publicationProceedings of International Conference on Computational Thinking Education, CTE 2017
EditorsSiu-cheung KONG, Josh SHELDON, Robert Kwok-yiu LI
PublisherThe Education University of Hong Kong
Number of pages4
ISBN (Print)9789887703440
StatePublished - 2017
Externally publishedYes
Event1st International Conference on Computational Thinking Education, CTE 2017 - Hong Kong, Hong Kong
Duration: Jul 13 2017Jul 15 2017

Publication series

NameProceedings of International Conference on Computational Thinking Education
ISSN (Electronic)2664-5661


Conference1st International Conference on Computational Thinking Education, CTE 2017
Country/TerritoryHong Kong
CityHong Kong


  • App Inventor
  • Block-based Programming
  • Computational Thinking
  • Data Analytics
  • Programming Complexity

ASJC Scopus subject areas

  • Education
  • Computer Science Applications

Cite this