Skip to main content
QUICK REVIEW

[論文レビュー] A Large-scale Analysis of App Inventor Projects.

Nathalia da Cruz Alves, Christiane Gresse von Wangenheim|arXiv (Cornell University)|Jun 19, 2020
Teaching and Learning Programming参考文献 19被引用数 1
ひとこと要約

本研究では、公開ギャラリーから88,606件のApp Inventorプロジェクトを分析し、プログラミング概念の使用状況とプロジェクトの特徴を検討した。その結果、App Inventorプロジェクトはサイズに大きなばらつきを示しており、多くのプロジェクトでプログラミングブロックの数がデザインコンポーネントの数を上回っていることが明らかになった。また、イベントが条件分岐やループよりも顕著に多く使用されていることが示され、Scratchとは異なる特徴を示しており、コンピュータ教育のカリキュラム設計に役立つ知見が得られた。

ABSTRACT

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 computational thinking 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.

研究の動機と目的

  • 大規模なユーザーベースにおけるApp Inventorプロジェクトにおけるプログラミング概念の普及状況と分布を理解すること。
  • 特にScratchと比較して、App Inventorのプロジェクト特徴を他のブロックベースの開発環境と比較すること。
  • プロジェクトのサイズ、コンポーネント使用状況、ブロック構成のパターンを特定し、App Inventorの教育的利用を支援すること。
  • 実世界のApp Inventorアプリケーションで最も頻繁に使用されているプログラミング構造を同定することで、カリキュラム開発を支援すること。

提案手法

  • App Inventorギャラリーから公開共有された88,606件のApp Inventorプロジェクトの収集と分析。
  • プロジェクトメタデータ(プログラミングブロック数、デザインコンポーネント数、イベント数、条件分岐数、ループ数など)の定量的抽出。
  • 233,491件のScratchプロジェクトを対象とした先行の大規模分析と、App Inventorプロジェクトの統計を比較。
  • プログラミング構造のカテゴリ別および頻度分析により、実世界のプロジェクトにおける相対的な使用頻度を評価。

実験結果

リサーチクエスチョン

  • RQ1App Inventorプロジェクトにおけるプログラミングブロック数とデザインコンポーネント数のプロジェクトサイズの分布はどのようになっているか?
  • RQ2App InventorとScratchにおけるイベント、条件分岐、ループなどのプログラミング構造の使用頻度はどのように比較できるか?
  • RQ3App Inventorプロジェクトは、ループや条件分岐といった制御構造よりも、イベント駆動型論理にどれほど依存しているか?
  • RQ4プロジェクトごとのプログラミングブロック対デザインコンポーネントの比率はどのように変動し、これにより実装の複雑さにどのような示唆があるか?

主な発見

  • App Inventorプロジェクトは非常に小さなプロジェクトから60,000個を超えるプログラミングブロックを有する極めて大きなプロジェクトまで、多様なサイズを示している。
  • 大多数のプロジェクトでプログラミングブロックの数がデザインコンポーネントの数を大幅に上回っており、UI要素1つあたりの論理的複雑さが高まっていることが示唆される。
  • イベントがApp Inventorプロジェクトで最も頻繁に使用されるプログラミング構造であり、その後に条件分岐やループの使用頻度が続く。
  • Scratchと比較して、App Inventorプロジェクトはイベント駆動型プログラミングに強く重きを置き、反復的および条件分岐的構造への依存度が低い。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。