九州大学 山田研究室

ブロックベースとテキストベースのプログラミング学習はどっちがいい?

2024年02月05日

皆さん、こんにちは。耿学旺です。

この記事では、今回の英語文献ゼミで読んだ論文とその感想について紹介します。

論文タイトル: Using multimodal learning analytics to understand effects of block-based and text-based modalities on computer programming
論文誌:Journal of Computer Assisted Learning
ページ:63-75
出版年:2024
著者名:Dan Sun, Fan Ouyang, Yan Li, Chengcong Zhu, Yang Zhou
https://doi.org/10.1111/jcal.12939

以下は、論文の内容の概要となります。

コンピュータプログラミングのスキルを習得するためには、ブロックベースとテキストベースの2つの学習形式があります。スクラッチなどのようなブロックベースのプログラミング学習では、ブロックのような視覚的な図形によって、コードを論理的に整理された使用可能なコマンド(特定のコマンドをどこでどのように使用できるか)を表示します。初心者にとっては、ブロックベースのプログラミングが理解しやすく、構文エラーを避けられるようになります。その一方で、テキストベースは、視覚的な方法ではなく、従来の方法で、CやJavaなどの言語でコードを書くことでプログラミングを学習します。学習者には、より高度なプログラミングスキルが必要です。そのため、テキストベースのプログラミングは、ブロックベースで代替できるものではなく、ブロックベースに続く学習段階となります。しかし、学習者がテキストベースのプログラミング中に構文エラーに遭遇し、それがつまずきの原因となって、プログラミングコースからのドロップアウトに繋がることがよくあると報告されています。

テキストベースとブロックベースのプログラミング学習法を比較した先行研究は、主に学習成果やプログラミングへの関心に焦点を当てています。プログラミング学習において学習者は知識を構築して、積極的に問題を解決する必要がありますが、学習プロセス自体、つまり学習者がどのようにプログラミングに取り組むかについては、あまり研究されていません。この研究では、ラーニングアナリティクスを利用して、テキストベースとブロックベースの2つの学習形式での学習者の行動と知識習得の違いを探っています。

この研究では、中国の2クラス、計64名の中学生を対象にテキストベースとブロックベースのプログラミング学習を比較する実験が実施されています。学習者はテキストベース群(32名)とブロックベース群(32名)に分けられました。各群の学習者は6回の授業を通じて、順次構造、選択構造、ループ構造などの基本的なプログラミングの概念を学習して、Code4allプラットフォームで実践的に練習しました。ブロックベース群はブロックのドラッグアンドドロップ機能を使用し、テキストベース群はコマンドを一文字ずつ打ち込んで練習しました。両クラスは同じ教師が同様の指導スタイルと内容で教えました。6回目の授業では、学習者は学習内容に基づいたプログラミング構造のテストを受けました。さらに、学習者のプログラミング行動の特徴と知識の習得を明らかにするため、Code4allの行動データ、コーディングのスクリーン録画、テストスコアを含む学習データを収集し、クラスタリング分析やラグシーケンシャル分析などの手法を用いて分析しました。

分析結果から、テキストベースの学習者は長いコードを記述して、構文エラーが多くて、デバッグにも時間を要していることが明らかになりました。一方、ブロックベースの学習者は、プラットフォームの操作やデバッグの試行回数が多くて、関連性のない動作に時間を費やしていました。また、テキストベースの学習者はコードの修正時に外部リソースを頻繁に参照する一方で、ブロックベースの学習者は視覚的な手がかりを活用してデバッグを行って、コードを修正していました。さらに、共分散分析を用いて事前テストの得点を共変量として分析した結果、ブロックベースの学習者がテキストベースの学習者よりも知識の習得において優れていることが示されました。これらの結果は、プログラミング知識の習得においてブロックベースの学習法が有効であることを示唆して、初級プログラミングコースにおける教育実践への応用を推奨するものです。また、プログラミング学習においては、学習行動だけでは学習成果を完全には反映できないため、包括的な評価との統合が必要であることが示されています。学習者が学習中に頻繁に外部リソースを参照することが確認されたことから、教師は適切な学習環境を提供し、外部教材やリソースを活用してタイムリーなサポートを行うべきだと考えられます。最後に、著者らは、この研究の限界点として、短期間の調査期間、スクリーン録画とプラットフォームの学習データを同期する技術的な制限やプラットフォーム操作への新規性などを挙げられており、今後の研究での改善が求められています。

以下は私がこの論文を読んだ感想となります。最初、タイトルを見てこの論文が表情や視線、脈拍などの挙動情報と生理情報を分析するマルチモーダルラーニングアナリティクス(LA)に関するものだと思いました。しかし、実際には、テキストベースとブロックベースのプログラミング学習法を、LAを用いて分析・比較する内容で、非常に興味深く感じました。論文からは、ブロックベースのプログラミング行動の分類法や、クラスター結果をレーダーチャートで視覚化する手法がとてもわかりやすくて、参考になりました。ただ、今回の研究結果の解釈には疑問を感じています。ブロックベースとテキストベースはそれぞれ異なる学習段階を対象としているため、特に、この研究は初級レベルのプログラミング学習に焦点を当てていることから、そもそもブロックベースの方がテキストベースよりも効果的である可能性があります。ブロックベースの学習からテキストベースの学習への適切な移行時期や、これら二つの学習形式の統合方法について、今後の研究の展開に期待しています。

PAGE TOP