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 work properly, several programming blocks are necessary for each design component in an App Inventor project. In addition, we also compare our results with the analysis of 233,491 Scratch projects reported by Aivaloglou and Hermans [4]. Several differences can be observed, as in App Inventor projects events are more predominant, with lesser use of conditionals and loops. These findings may guide the decision on the adoption of App Inventor for teaching computing depending on the specific learning objectives or indicate the need for tailoring the curricula.
翻译:K-12 学生的教学编程变得至关重要。在这方面,App Inventor 发明家是一个广受欢迎的区块编程环境,从K-12到高等教育,包括终端用户用来创建移动应用程序以支持其初级工作或爱好。虽然已经调查了与App Inventor 一起的学习编程,但一个问题仍然是,哪些编程概念通常被使用,以及这与其他区块编程环境相比如何。因此,我们通过对App Inventor Galleral上88,606个应用程序的大规模分析,探索了应用发明项目的特点。我们发现,App Inventor 项目的规模各不相同,从只有极少数区块的项目到一些令人惊讶的60 000个区块以上的大型项目。一般而言,使用设计构件比编程块要少得多,通常是为了正常工作,对App Inventor 编程项目中每个设计构件部分都需要几个编程块。此外,我们还通过对Aivologlou 和 Hermans 报告的233,491 Scratch 应用项目进行分析,我们比较了我们的结果。我们观察到了一些差异,如在Appint Inventor imental imateal iming iming impeat the mindational imings lidudududududududustrationaldaldal