研究課題/領域番号 |
18K02921
|
研究機関 | 比治山大学 |
研究代表者 |
山田 耕太郎 比治山大学, 現代文化学部, 准教授 (20353120)
|
研究期間 (年度) |
2018-04-01 – 2023-03-31
|
キーワード | プログラミング教育 / プログラミング的思考 / ブロック型言語 / Blockly / テキスト型言語 |
研究実績の概要 |
本研究はGoogleが提供しているブロック型言語Blocklyを使って学習者のプログラミングの特徴やスキルを把握し,テキスト型言語によるプログラミング教育との相乗効果を検証することで,効果的なプログラミング教育の要因を明らかにすることを目的としている。この目的のためには,学習者のプログラム構築過程を時系列データとして収集・分析することが必要であるが,これはBlocklyのブロックを移動したり変更を加えるなどの操作を学習者が行った際に,ブロックから発せられるイベントメッセージを捕獲することで可能となる。 本研究では昨年度,Googleが公開している教育ゲームのひとつである迷路ゲーム(Maze)を本研究用のサーバに移植し,イベントメッセージの収集を行うWebアプリケーションが実装できたことを報告した。しかしそれと同時にサーバの処理能力についての懸念が発生していたため,今年度はその対応策を検討した。その結果,Webアプリケーションの構成と要素技術の全面的な変更が必要であるという結論に達したため,新たなアプリケーションを開発して実装した。またこの実装の際にサーバのOSも更新し,アプリケーションがシステムのサービスとして安定的に稼働するよう設定を施すことで処理能力の懸念をほぼ解消することができた。 イベントデータは学習者がブロックに対して操作を行う度に時系列データとしてサーバに蓄積される。研究計画では授業実践によってデータ収集を行い,学習者のプログラミングの特徴やスキルを把握することとしていたが,今年度は授業以外の限定的な場面での収集にとどまった。そのため収集できたデータ量も十分ではなかったが,それらのデータを分析した結果,プログラムを構築する際の一連の作業や操作の特徴を抽出できる可能性が高いことが分かった。今後はデータ量を増やしてクラスタ分析を適用するなどして,より詳細な分析を行う。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
研究実績の概要で述べたように,Blocklyのイベントメッセージを収集するWebアプリケーションを昨年度実装したが,サーバの処理能力についての懸念が残っていたため,それを解消するためにアプリケーションを全面的に作り直したことが進捗に影響した。しかしアプリケーションを変更したことで処理能力の懸念がほぼ解消され,システムを安定稼働できるようになったため,データの分析に注力できるようになった。 現在収集しているデータは,学習サイトにアクセスした端末の識別ID,ブロックに対する操作区分(生成・移動・変更・削除など),操作に伴うイベントの発生時刻,イベントを発生したブロックの識別ID,ゲームのレベルIDなど,プログラムの構築過程を時系列で把握するための項目を網羅している。現時点では収集できているデータ量が少ないため,端末の識別IDごとのデータに対して単純な時系列分析やクロス集計を行い,その結果を考察するにとどまっているが,その分析から既に興味深い特徴が読み取れることが分かっている。しかし学習者のプログラミングの特徴やスキルを把握するためにはデータ量を増やし,さまざまな分析を行い,結果を多角的に考察する必要がある。データの分析と考察を早急に行い,効果的なプログラミング教育の要因を明らかにするために,本研究では機械学習の教師なし学習で用いられるk平均法などの分析アルゴリズムを用いる。これは,収集しているデータが本研究独自のものであり,どのような特徴量が抽出できるかがまだ定かではないため,まずは教師なし学習でのクラスタリングアルゴリズムを適用し,どのようなクラスタが形成されるかを調べる必要があると考えているためである。筆者はこれまでに自然言語処理の経験を有しており,教師なし学習による特徴量抽出のアルゴリズムを実装したプログラムをすぐに使える態勢にあるため,進捗の遅れを改善することができる。
|
今後の研究の推進方策 |
本研究を推進する上で重要となる「学習者のプログラム構築過程」の分析は,Blocklyでのプログラミングの際に生成されるイベントデータを収集することで可能となるが,その収集システムの構築と,昨年度の懸念事項として残っていたサーバの処理能力問題を,データ収集アプリケーションの更新によってほぼ解消することができた。更に,授業規模として現実的な100名程度の学習者が一斉に学習サイトにアクセスするような高負荷下での運用にも対応できるよう,別のドメイン配下にバックアップ用のサーバを設置し,メインとなるサーバの負荷が高まった際には処理を分散したり代替できる態勢を整えた。これらの方策によってイベントデータの収集が安定的に行えるようになったため,今後はデータの分析に注力する。 データの分析には機械学習で使われている手法を適用する。本研究では,収集したイベントデータから学習者のプログラミングの特徴やスキルを把握する必要があるが,データからどのような特徴量が抽出できるかは現在のところ分かっていない。従って,抽出した特徴量と学習者のプログラミングの特徴との対応が不明なデータを分析することになるため,機械学習の「教師なし学習」の分析手法を適用することが妥当である。具体的にはk平均法によるクラスタ分析でどのような特徴を持ったクラスタに分類されるのかを調べ,更に主成分分析等による次元圧縮で特徴量の抽出とその意味付けを行う。抽出された特徴量は学習者のプログラミング行動の特徴が反映されているという仮定を設けているため,この仮定が妥当かどうかの考察もこのときに行う。特徴量の意味付けができれば,学習者のプログラミング行動との関連も明らかとなるため,これらの知見に基づいてテキスト型言語を使ったプログラミング教育の方法や教育効果の考察を行い,ブロック型言語とテキスト型言語の併用による教育上の相乗効果の解明につなげる。
|
次年度使用額が生じた理由 |
新型コロナウィルスの感染拡大によって学会や研究会の現地開催が少なくなったことや,現地開催されても行動制限等によって移動ができない状況が続いたため,旅費の使用が減ったこと。また,感染拡大防止対策の優先によって研究活動を変更したり縮小する必要が生じ,研究活動そのものにかかる経費が少なくなったことなどが影響して次年度使用額が生じる結果となった。しかし対面による実践授業の機会が増えていることや,本研究で必要なデータの収集が行えるようになったこと,データ分析の手法と方針が明確になっていることなど,研究活動を加速させる条件が整ったため,助成金は研究成果を学会や論文等で広く公開することを優先して有効かつ適切に使用していく。
|