見出し画像

Web技術を活用したプログラミング学習基盤LOGRAM

坂口 楽(さかぐち らく)

 坂口くんは,Web 技術を活用することで学習データの収集から活用までを一貫して環境構築不要で行うことのできるプログラミング学習基盤「LOGRAM」を開発した(図-1).LOGRAM では,学習者のプログラミングの過程をリアルタイムに記録して分析に使用することで,エラーが要因のつまずきを検知し生徒の状況に合わせて段階的に自己解決に向けたサポートを自動で行うことや,管理画面での学習データの可視化など効率的なプログラミング学習をブラウザのみで行うことができる.

図-1 ブラウザ単体で動作するプログラミング学習環境

学習データは図-2のように「実行履歴」「エラーの検知」「コード履歴」「つまずきの検知」の4種類に識別して収集する.収集した時系列な学習データを管理プラットフォームで生徒/クラス単位で読み込むことで,生徒の学習データの分析・可視化し,管理者(教員)が生徒のプログラミングの過程を把握することができる(図-3).

図-2 収集する学習データ
図-3 管理プラットフォームのデータ分析画面

 坂口くんはプロジェクト開始当初から,教員不足などにおける教育の地域格差などの現場の現状から,個人情報保護に関する法律・条例の問題まで幅広く把握した上で,実際に教育現場で使うためには多くの条件をクリアする必要があるとして,何度も検討を重ねた.その結果,誰もが簡単に使い始めることのできる「ブラウザ上で単独で動作する環境構築のいらない学習環境」と,個人情報保護に関する法律を守りながら収集した学習データの分析・管理が行える「管理者用プラットフォーム」を作り上げた.具体的には,Web Assemblyで動作するPythonインタプリタを使用してブラウザ上で単独で動作させ,Progressive Web Appsに対応することでローカルのデスクトップにインストールすることで,環境構築が不要というオンラインの開発環境のメリットと,オフラインでも使用することのできるローカルの開発環境の両方のメリットを享受した実行環境を開発したのである.

 プログラミング学習環境では学習データを収集する段階で学習データの活用を行っており,生徒のエラーが要因のつまずきを検知した際に,生徒の状況に合わせて段階的に自己解決に向けた支援を自動で行うことや,質問を促すといったサポートを行う機能もある(図-4).1,2段階目では発生しているエラーの内容を動的に日本語で説明したものを通知し,3段階目には図-4にある「質問する」というボタンをクリックすると生徒がノートブックでプログラミングをしてきた過程のログを提示する.このログは,学習者がそこまでたどり着くまでのプログラミングの過程を読み取るヒントとして表示している.そのため,このログを見せながら質問をすることで「なにが分からないのか分からない」という言語化できていない状態でも質問をするきっかけを作る.

図-4 段階的に自動サポートを行う機能の通知

 坂口くんはプロジェクト全体の企画力やプロジェクトを進める能力が非常に高く,開発は学習環境基盤,学習データを収集する機能,収集したデータの可視化など多岐にわたっていたが,高い開発能力と強い熱意を持って取り組み,たった一人で作り上げた.さらに,プレゼンテーション能力や自身のプロジェクトの強みを伝える力,多様な意見を的確に分析して判断する力についても未踏期間中に大幅に向上した.加えて,自分のプロジェクトだけでなく,ほかの同期のプロジェクトに対しても親身になり積極的に助言していた姿勢が印象に残る.

 高校の「情報I」で使うことを視野に入れ,情報処理学会のMOOC教材☆1のプログラムを題材としたが,コンテンツではなく学習データを活用したプログラミング教育のサポートを行うことのできる学習基盤LOGRAMは,高校の授業のみならず,すべてのプログラミング教育の現場で先生,生徒の能力を吸収して,多種多様な授業のやり方での学習の質と効率の向上が期待できる.特に1対1ではなく,授業のような多人数を相手に教える必要があるような現場でより魅力を発揮するシステムでもある.

 坂口くんは未踏終了後も継続してアップデートを続けていくための開発を続けている.未踏をきっかけに声をかけてくださった教育現場の方もいらっしゃり,ユーザテストやワークショップの開催を行いながら,改善を続けている.興味のある方はぜひ連絡をとってみてほしい.(五十嵐悠紀PM担当)

☆1 https://www.ipsj.or.jp/release/mooc202007.html

[関連URL]
https://hidane.app/

[統括PM追記] いろいろなことがよく考えられて作られたプログラミング教育システムである.LOGRAM=LOG+PROGRAM,なるほどである.ところで,世の中には「個人情報保護法制2000個問題」なるものがあるようで,これが学校におけるオンラインプログラミング教育の実現に大きな障碍になっていることを坂口君から初めて教わった.その彼も未踏の申請書を書いた後で初めて知ったとのこと.これを回避するために,学内でノートや答案用紙を集めるのと同様の仕掛け,つまりローカルですべてを行うようにした.本当は全国や都道府県単位でオンライン結合できたほうが,大所高所での教育改善につながると思うのだが…….
 各論的には五十嵐PMが書かれた通りで,うまく質問するように誘導するところは得に興味深い.坂口君の発表スライドの変遷を見ると,月日が経つにしたがってどんどん洗練されていくのがよく分かる.未踏でプレゼン技術が向上する良い例である.

(2022年6月30日受付)
(2022年8月15日note公開)