近年,情報教育においてcomputational thinking [1]のスキルを育成することが,世界的に重要視されている.日本の初等中等教育では,情報教育の推進[2]がなされている.そこでは,プログラミング的思考が求められている.computational thinkingとプログラミング的思考のどちらにおいても,抽象化の能力が必要である.抽象化の代表的な手段の1つとして,UML(Unified Modeling Language)などによりソフトウェアの構造や振る舞いを図的に表すモデリングがある.モデリングに関する教育手法や学習コースが,多くの教育機関や学会,学術誌で熱心に検討されてきた[3]-[7].また,欧州を中心にモデリングを用いたcomputational thinkingに関する,国際的な教育プロジェクトが始められた[8], [9].
日本の中学校では,令和3年度より新学習指導要領[10]の適用が始まった.「D情報に関する技術」では,「計測・制御のプログラミング」や「双方向性のあるコンテンツ」の学習が望まれている.また,中学校技術科の特徴として,“生活や社会の中からプログラムに関わる問題を見いだして課題を設定する力,プログラミング的思考等を発揮して解決策を構想する力,処理の流れを図などに表し試行等を通じて解決策を具体化する力などを育成する” [11]と記されている.この学習領域において,様々な教材が提案されている[12]-[14].しかし,それらの多くはプログラミング言語の知識を必要とするものであり,限られた授業時数の中での授業展開の工夫が求められる.一方,学習指導要領解説[15]では,学習活動の例として,UMLを用いて人間の生活を支援するロボットのモデルを設計することが挙げられている.
本研究では,中学校段階の生徒を対象としたモデリング学習支援環境を提案する.学習指導要領における「計測・制御のプログラミング」と「双方向性のあるコンテンツ」の学習領域を,モデリングにより学習する.リサーチクエスチョンは,「提案環境は中学校技術科での授業に有用であるか」とする.これに対し,本稿では提案環境の機能と,中学校技術科でのケーススタディを示す.そして,教師および生徒のコメントから提案環境を用いたモデリング学習の有用性を評価する.
産業界では,モデルからプログラムを自動生成する技術であるモデル駆動開発(Model Driven Development,以下MDD)が実用化されている.MDDを利用することで,設計と実装の乖離を無くすことが可能となる.MDDツールの多くは商用ベンダから提供されている[16], [17].しかし,専門家が用いる高度な機能を備えるものが多く,初学者が短時間で扱うことは難しい.
特定の問題領域における課題解決用に特化した語彙集合を用いるプログラミング言語を,ドメイン特化言語(Domain Specific Language,以下DSL)と呼ぶ.DSLはMDDで用いられることがある.MDDを実現するツールの1つとして,Technical Rockstars社により提供されるclooca [18]がある.cloocaはDSLを定義する機能を備える.また,メタモデルとテンプレートの機能を利用し,モデルからソースコードを生成する.cloocaのメタモデルでは,モデルの文法構造とともに,モデル図の書式を定義できる.メタモデルでモデルの文法構造を単純化しておくことで,初学者は単純なモデルを用いて学習を進めることもできる.また,webブラウザで動作するため,実行環境を用意しなくてよいことも特徴である.
筆者らはこれまでに,cloocaと独自に開発したコンパイルサーバを組み合わせたS-cloocaという教育用モデリング学習支援環境を2012年より運用してきた[19].産業用に利活用されるMDDに関連する技術は,これまでの運用により,以下の点が教育用途で有用であると分かった.
①はUMLとDSLを用いることによる利点である.グラフィカルな言語を用いるため,少なくとも汎用プログラミング言語の知識は不要となる.UMLは複数の図を用いることにより,システムの構造や振る舞いを表現する.本研究では,ソフトウェア開発の学習ではなく,モデリングの学習を支援することを狙う.そのため,すべての図を扱う必然性はなく,イベント駆動な計測・制御の振る舞い表現に向く状態遷移図に着目している[20].②はMDDによる利点である.MDDを活用することにより,設計,実装,実行,評価の一連の活動を体験できる.これにより,設計図と実行結果の対応を直感的に理解できる.また,設計と実装を区別しないため,一連の学習活動を短時間で行えることも特徴である.③は,DSLを利用することによる利点である.DSLはモデリングで使用する語彙を制限することで,難易度を調整することができる.また語彙を定義する際,課題のテーマに則した語彙の意味付けを行うことで,状態遷移図における振る舞いの実動作を明確にすることができ,学習活動が円滑になる.制限した語彙は,エディタ上で選択する形式とすることで,学習コストを下げることもできる.
本研究でのモデリング学習の支援とは,モデリング学習を行う環境を提供することである.この環境は,2018年からは中学校技術科の正規授業へ適用されている.この中学校での運用を通して,以下に示す3つの問題点が明らかになった.1つ目は,モデルエディタに関して,図の書き直しがしにくいなど,操作性に関する点である.2つ目は,cloocaが備えるメタモデルおよびDSLの定義は複雑で,教師が設定するにはコストがかかりすぎることである.従来の試行では,専門知識を有する管理者が,教師の依頼を受けて設定を行わざるを得なかった.3つ目は,教師によるモデル図の評価に多くの時間を要することである.授業でモデリングを行う場合,ある課題に対して全生徒が共通のモデル図を記述する.教師は,これらを効率的に評価したいと考えられる.しかし,授業実践では,生徒のモデル図を個別に確認する必要があった.これは,教育用途でのモデリングの特徴であり,既存ツールではこのようなユースケースは想定されていない.
筆者らは,研究背景やこれまでの運用を踏まえた,新たなモデリング学習支援環境:SRPS(Simple Rule Practice System)を開発した.SRPSは「計測・制御のプログラミング」と「双方向性のあるコンテンツ」の学習項目を満たすことを目的とする.本提案環境の特徴は以下の3点である.
iは2章で述べたMDDによるモデリング学習の利点である.提案環境においても,この点は2012年より,継続して実現してきた項目である.iiにより,学習を行う生徒に合わせて課題の難易度を調整できる.これにより,教師の授業ニーズへの柔軟な対応を可能とした.iiiは,生徒の学習状況を把握し,課題の改善を行うことにつながる.これらの特徴により,「モデリングの学習機会の創出」および「生徒に適した難易度の課題を提供する機能」を実現することで,モデリングの学習を支援する.
本環境の構成を図1に示す.SRPSはwebアプリケーション,コンパイルサーバ,制御対象により構成される.コンパイルサーバはS-cloocaで利用していたものを用いる[21].webアプリケーションからPOSTメソッドによりリクエストを受けると,ソースコードのコンパイルを行い,レスポンスとして実行コードを返す.制御対象は,教育用マイコンボードであるBBC micro:bit(以下,micro:bit) [22]で制御可能なものとした.micro:bitは多様なセンサを利用することができるため,「計測・制御のプログラミング」に適している.また,micro:bit同士で通信する機能を備えているため,「双方向性のあるコンテンツ」に利用することができる.
本研究では,webアプリケーション部分を新規に開発した.使用言語はTypeScript [23]で,フレームワークにはReact [24]を用いた.webアプリケーションは,「教師向け機能」と,「生徒向け機能」により構成される.教師向け機能は,以下に示す3つの機能がある.
A) ユーザ管理
B) 課題管理
C) 提出されたモデル図の管理
Aでは,管理対象となる生徒の登録を行う.Bでは,授業で使用する課題を作成する.Cでは,課題を評価する際に活用する.生徒は,モデルエディタでモデル図を記述する.作成したモデル図は,モデルコンパイラでソースコードに変換する.そして,コンパイルサーバで実行コードに変換し,ダウンロードする.実行コードを制御対象に書き込むことで,モデル図に記述した動作を実行できる.以下では,提案環境の特徴に関係する機能について詳細に述べる.
本環境のモデルエディタは,特徴iを満たす設計とした.モデルエディタの画面例を図2に示す.本環境ではモデリングを簡潔にするために,UMLの状態遷移図を簡略化した記法を用いる.状態遷移図では,状態(□)と遷移(→)でシステムの振る舞いを表現する.一般的に,状態には“動作”を,遷移には“イベント”と“動作”を記述する.本環境では,課題に応じて定義されたDSLから,動作やイベント等を選択する.このエディタでは,モデル図上で制御対象間での通信を表現する.同じグループ番号を指定したモデル図同士で,送信の“動作”や受信の“イベント”が機能する.通信はグループを定義する図要素にグループ番号を指定して行う.
操作方法はインタラクティブなチュートリアルにより学びながら進めることができるようにした.本環境は記法のエラーチェック機能を有する[25].エラーチェック機能では,記法誤りがある箇所がダイアログで表示され,該当要素が赤くなる.エラーチェックにより,すべての記法誤りが修正されたモデル図のみ,モデルコンパイラの機能を実行できる.これにより,不適切なソースコードが制御対象に送られてしまうことを事前に防ぐことに加え,学習者自身でモデル図の誤りを修正することを支援する.
この機能は,特徴iiを満たす設計とした.課題の管理では,教師が利用したい動作およびイベントを選択し,それぞれに学習テーマに適した用語を与えることで,DSLを定義する.特定の問題領域に特化した語彙を定義した課題を作成することで,生徒が取り組む課題の難易度を調整できる.
学習テーマは特定のユーザグループに与える課題の集合名であり,たとえば,「カーレース」という学習テーマに対して「タイムトライアル」や「障害物検知」等の課題がある.DSL作成画面を図3に示す.課題に名前を付け,その課題で使用する動作やイベントを選択し,名前を付けることでDSLを作成する.図3の例では,タイムトライアル課題においては,赤外線センサの黒色検知を「ゴールに着いた」,タッチセンサのバンパーが押されたというイベントを「スタートボタンが押された」という語彙で利用する.一方,障害物検知課題においては,赤外線センサは利用しない.タッチセンサの押されたというイベントを「障害物に触れた」という語彙で利用する.必要な課題を作成後,SRPSに登録することで学習テーマが作成される.課題の割り当て機能では,課題を表示するユーザグループを選択できる.これにより,生徒の画面からは取り組むべき課題のみが表示されるため,課題選択などで不必要な時間を割く必要がなくなるというメリットがある.
この機能は,特徴iiiを満たす設計とした.生徒は特定の課題において複数回提出できる.SRPSでは,利用者ごとに各課題の提出履歴を保持する.
本機能では,提出図を課題ごとまたはユーザごとに表示できる.表示方法には,一覧表示と個別表示がある.
一覧表示では,課題ごとに回答を比較したい場合と,ある生徒の一連の学習活動について評価したい場合を想定した.一覧表示の画面例を図4に示す.この例では,特定課題に対して複数の生徒から提出された図が一覧表示される.これにより,個別に提出図を表示する必要がなくなり,クラス単位,課題単位での提出図の確認が容易になる.
個別に提出図の確認を行う場合は,履歴の中から選択したモデル図の表示が可能となる.提出履歴を参照しない場合は最新の提出図が確認対象となる.また,各提出図の編集ができる.編集した結果は,生徒が次回この課題を選択した際に表示される.
本提案環境を用いた中学校技術科の正規授業が,2021年10月から2022年3月に行われた.対象とする単元は,「計測・制御のプログラミング」および「双方向性のあるコンテンツ」である.利用者は,教師1名と4クラス80名(各クラス20名)の3年生である.9回の授業で6段階に設計された課題に取り組んだ.1回の授業時間は50分で,課題(1),(4),(5)は各1回,(2),(3),(6)は各2回割り当てた.
学習テーマや課題は教師により考案され,SRPSに登録された.学習テーマは「交通事故を減らす信号機を設計しよう」,教育目標は「信号機をモデリングできるようになろう」である.課題は1台の信号機の設計から,交差点,横断歩道や側道の信号機との連携等,徐々に難易度が上がるように設計された.6つの課題は3段階の学習項目に分類できる.各課題の特徴を表1にまとめる.課題(1),(2)は,ある状態から遷移する際のイベントが1つのみの場合である.課題(3)からは,ある状態から遷移する際のイベントが複数ある場合が追加される.課題(4)以降の課題では,モデル図間の通信(双方向性のあるコンテンツ)が追加される.このテーマで用いられた制御対象を図5に示す.これは,教師により自作された信号機の模型で,micro:bitを利用している.使用されたパーツは,LED(赤,青,黄),タッチセンサ,IRセンサである.
各課題で定義されたDSLを表2に示す.「停止」はすべての動作を停止する.「青信号」「黄信号」「赤信号」「青点滅」は,対応する色のLEDを点灯する.「ボタンが押された」は,タッチセンサが押されたことを検知する.「時間経過」はパラメータに指定した秒数が経過されたことを検知する.「白色を検知」では,白色の紙を車と見立てたものを,IRセンサで検知する.「送信」「受信」は図6に示す記法でモデル図を記述することにより通信をする.桃色の四角はグループ番号を表す.同じ番号を指定したグループ間で送受信する.送信と受信は添え字の数字が同じもの同士で通信する.
以下では,課題内容と授業について詳述する.
初回の授業では,以下の説明が行われた.
1.では,身の回りで使われる「プログラム」(たとえば,運動会のプログラム)を取り上げ,プログラムとは「順番に処理を実行していくもの」であることを理解させた.そのうえで,コンピュータによる制御で扱うプログラムを説明した.
2.では,プログラムによる情報処理の方法として,順次処理,反復処理,分岐処理が示された.順次処理は「並べられた順に1つずつ処理を実行すること」,反復処理は「同じ処理を繰り返すこと」,分岐処理は「条件によって処理が分かれること」という説明がなされた.
3.では,教師が信号機の振る舞いについて説明した.その後,生徒がフローチャートを用いて信号機の振る舞いを考えた.2,3は教科書*1に基づき説明が行われた.
4.では,状態遷移図の説明が2の説明と対応付けて行われた.また,信号機を状態遷移図で記述する場合について考えた.ここでの信号機は,後述する図8中信号機Aのモデルを利用した.
5.では,模範的なモデル図(図7参照)がホワイトボードに掲示され,生徒は模範的なモデル図をSPRSで記述する.信号機基本では,車道の信号機をモデリングする.ここでは,赤信号・青信号・黄信号の各動作を時間経過のイベントにより切り替えていく.開始状態直後の動作は停止とし,ボタンが押されたイベントで信号機の点灯サイクル(赤信号→青信号→黄色信号)に遷移する.この課題では,ある状態から遷移する際のイベントが1つのみの場合である.ここで用いるDSLは動作数4つ,イベント数2つである(表1,2参照).
6.では,信号機へのプログラムの書き込み,信号機でのプログラムの実行を経験する.そして,生徒はモデル図のとおりに信号機が動作することを確認する.
これは時間経過のイベントを用いて交差点の2台の信号機を連動させる課題である.2台の信号機のうち,1台は課題(1)のモデル図を再利用することができる.この課題は生徒2名のペアで取り組む.各生徒は自分の信号機をモデリングする.開始状態直後の動作は停止とし,ボタンが押されたイベントで信号機の点灯サイクルに遷移する.このとき,ボタンを押すタイミングをペア間で同期させることで,2台の信号機を連動させる.この課題で想定される2台の信号機の説明は図8を用いて行われる.交差点の信号機であるため,各信号機の点灯サイクルの最初の動作は,1台が青信号,もう1台が赤信号となる.その後の遷移は,時間経過のイベントをペアで調整することで,事故が起こらないようにする.この課題では青信号と黄信号の継続時間の和が赤信号の継続時間と一致するようにする必要がある.ここで用いるDSLは課題1と同様である(表1,2参照).
この課題では,課題(2)に横断歩道の信号機を追加する.横断歩道の信号機はタッチセンサを利用する.車道の信号機は課題(2)のモデル図を再利用することができる.この課題は生徒3名で取り組む.各生徒は自分の信号機(車道1,車道2,横断歩道)をモデリングする.横断歩道の信号機は,赤信号・青信号・青色点滅の各動作態を時間経過のイベントにより切り替えていく.
車道の信号機では,開始状態直後の動作は停止とし,ボタンが押されたイベントで信号機の点灯サイクルに遷移する.一方,横断歩道の信号機では,開始状態直後の動作は赤信号とする.これは歩行者がいない場合を想定している.歩行者によるボタンが押されたイベントが生じると,横断歩道の信号機と車道の2台の信号機の動作が変化する.横断歩道の信号機は赤信号→青信号→青点滅と遷移する.一方,車道の信号機は歩行者によるボタンが押されたイベントが生じた際の動作に応じて,その後の遷移を変化させる必要がある.この課題のポイントは,課題(2)までの信号機の点灯サイクルとは異なる遷移をモデリングする点にある.車道の信号機の動作に応じた条件分岐を考えることが必要となる.ここでの条件分岐とは,ある状態から遷移する際のイベントが複数ある場合を指す.ここで用いるDSLは車道の信号機,横断歩道の信号機ともに,動作数4つ,イベント数2つである(表1,2参照).
課題(3)を,通信を利用して実現する課題である.この課題は生徒3名で取り組む.この課題で取り入れた通信は,あるモデル図からの送信と,別のモデル図での受信を組み合わせるものである.横断歩道の信号機は,歩行者によるボタンが押されたイベントが生じると,送信動作により車道の信号機に歩行者の存在を通知する.車道の信号機は,受信イベントにより歩行者の存在を認識し,点灯サイクルを変更する.課題(3)では生徒が手動でボタンを押すため,タイミングがずれてしまう可能性がある.しかし,この課題で通信機能を利用することで,より正確に同期したタイミングで遷移が行われることになる.また,ボタンを押すのは横断歩道の信号機のみであるため,より現実に近い動作を表現できる.この課題は,モデル図間の通信を含む.課題(4)の模範解答を図9に示す.(b)横断歩道の信号機から(a)車道の信号機に対して,歩行者の存在を通知するために「送信1」が用いられる.(a)車道の信号機では「受信1」で「送信1」を受け取る.(a)には「受信1」が3か所に含まれる.ここで用いるDSLは車道の信号機,横断歩道の信号機ともに,動作数4つ,イベント数3つである(表1,2参照).
この課題では,側道の信号機と幹線の信号機を連動させる課題である.この課題は生徒2名で取り組む.側道の信号機はIRセンサを利用し,感知式信号機をモデリングする.課題(2)で作成した交差点の一方を側道と想定し,かつ複数モデル図での同期動作を伴うモデリングを行う課題とした.この課題では課題(3)と同様に,課題(2)までの信号機の点灯サイクルとは異なる遷移のモデリングが必要となる.さらに,複数のモデル図間での通信を伴うモデリングが必要となる.
側道の信号機は,車を検知すると送信動作を行い,幹線の信号機が赤信号になると青信号に遷移する.幹線の信号機は,受信イベントが発生すると黄信号になり,赤信号へ遷移する.その後は,時間経過を利用して,側道の信号機が赤信号になったタイミングで,幹線の信号機が青信号になるようにすることが求められる.ここで用いるDSLは,幹線の信号機が動作数5つ,イベント数3つであり,側道の信号機は動作数5つ,イベント数4つである(表1,2参照).
この課題は,生徒が自ら信号機を利用して,日常生活における問題を解決する課題である.(1)~(5)で使用した機能に加え,micro:bit本体のA/Bボタンが利用可能である(これらは表2では示していない).以下に,生徒が提案した解決すべき問題の例を示す.
ここで用いるDSLは動作数6つ,イベント数9つである(表1,2参照).
本研究では,3章で示したように「モデリングの学習機会の創出」および「生徒に適した難易度の課題を提供する機能」を実現することで,モデリングの学習を支援する.「モデリングの学習機会の創出」に対しては,提案環境を用いた授業実践が2018年から現在に至るまで,継続的になされているという事実から,達成されていると考える.一方,「生徒に適した難易度の課題を提供する機能」が実現できているかを評価するために,次の2点を検証した.(1)教師が課題を設定できること,(2)教師が設定した課題が「生徒に適した難易度」であること.生徒の課題への取り組みの様子が分かることで,教師が設定した課題は「生徒に適した難易度」であったのかが推察できる.
本環境を用いた授業を担当した教師に対して,提案環境の特徴に対する意見を求めた.教師に関連する提案環境の特徴は,3.に示した特徴のうち,ii「教師が学習テーマ等を自由に定義できること」,iii「生徒の学習に対する評価が容易になること」である.以下では,教師の意見を示す.
iiでは,学習テーマと課題の形でDSLを定義することで,生徒は個々の課題でモデリング対象となる題材を容易に理解した.また,分担して取り組む課題や,関連性のある課題をまとめて示すことで,授業進行が円滑になった.iiiでは,提出したモデル図を一覧で見ることで,個々の生徒の学習状況が把握しやすくなった.これは,生徒の考え方や躓きを捉えることに有用であった.
生徒の提出物と意見を分析することで,提案環境を用いたモデリング学習の有用性を評価・考察する.ここでは,課題(1),(3),(4)を対象に分析結果を示す.これらの課題は3つの学習項目が初めて導入された課題である(表1参照).分析項目は,定量的データとしての正答率と,定性的データとしての授業後の自由記述コメント(以下,コメント)である.正答率は,提出が確認できたモデル図に対して算出した.題意を満たさない提出物を誤答とした.コメントは,まずテキストマイニングツール[26]により形態素解析をした.そのうえで,出現した主たる形容詞(文数に対して10%以上)について,元のコメントを参照し,アイデアユニットによる分類を行った.本研究でのアイデアユニットの定義と分析に用いたアイデアユニットを付録に示す.
課題(1)は本環境を用いる最初の課題である.56件のモデル図が提出された.正答率は96%(54/56)であった.誤答は2件であり,赤信号→黄信号→青信号と遷移していたものと,点灯サイクルの中に開始状態直後の停止動作を含めたものである.提出回答からは,SRPSの使い方やモデリングの記法は理解していたことが推察される.
課題(1)のコメント数*2は56件(45名)であった.出現した形容詞を表3に示す.「すごい」を含むコメントを付録表のアイデアユニットにより分類した.分類結果は,①MDDと②身近な題材の2項目となった.①は11件(10名)であり,モデル図を記述すると対象デバイスが記述内容を実行することへの驚きや,時間制御ができることへの驚きが記述されていた.これらのことから,制御対象の動作とモデル図を比較することで,それぞれが対応していることを生徒が直感的に理解していたことが読み取れる.②は1件であり,信号機という身近なデバイスを題材にしたことにより,身の回りでプログラムが使われていることを実感し,学習への興味を喚起したと推察される.
「楽しい」を含むコメントは対象が明記されていない.このことは,課題1への取り組み自体を楽しいと感じたとも考えられる.
一方,「難しい」を含むコメント中5件は課題に取り組む前の感想(「難しいと思っていたけど,・・・」等)であり,残り5件は課題に取り組んだ後の感想であった.取り組んだ後の感想としては,状態遷移図で信号機を表現することに難しさを感じたと記されていた.これらは,状態遷移図という記法を知り,身近な対象物の振る舞いを表現することへの慣れが関係していると考えられる.
課題(3)は条件分岐を使用する最初の課題である.70件のモデル図が提出された.正答率は64%(45/70)であった.そのうち,車道の信号機を担当した生徒の正答率は51%(23/45),横断歩道の信号機を担当した生徒の正答率は88%(22/25)である.誤答は25件あった.主な誤り内容は,状態が足りないもの,遷移にイベントやパラメータを記入していないもの,条件分岐先の動作が誤っているもの(ボタンを押したら車道の信号が青になるなど)であった.
課題(3)のコメント数は97件(74名)であった.出現した形容詞を表3に示す.「難しい」を含むコメントを付録表のアイデアユニットにより以下の4項目に分類した.①MDD(23件),②モデル図要素の配置(3件),③課題の難易度(2件),④対象不明(2件).①では,さらに4つの下位項目に分類される.①-1条件分岐(6件),①-2信号機の連動(11件),①-3時間制御(1件),①-4仕組みの理解(5件).①-1の条件分岐に関する箇所に難しさを感じた記述である.①-2ではこの課題の特徴である複数の信号機が間接的に連動して振る舞うことをモデル図として表現することに難しさを感じた記述である.①-3は課題(1)(2)と同様に,時間経過のパラメータ調整に難しさを感じた記述である.①-4はこの課題を通して,現実の信号機の仕組みの難しさを感じた記述である.②は見やすいモデル図を作成することに難しさを感じた記述である.これは,この課題のモデル図に含まれる状態数がそれまでの課題よりも多くなり,遷移数も合わせて増えるため,モデル図が複雑になったことが要因と考えられる.③はそれまでの課題と比較して難易度が上がったことに難しさを感じた記述である.④では難しさを感じた対象は明示されていない.このことは課題3への取り組み自体に難しさを感じたものと考えられる.
一方,「良い」を含むコメントを付録表のアイデアユニットにより以下の5項目に分類した.①MDD(7件),②協力(2件),③上達(1件),④対象不明(1件),⑤願望(2件).①は2つの信号機をタイミングよく連動できたことや,信号機の仕組みを理解できたことを良いとする記述である.②はグループ内で協力したことを良いとする記述である.③は早く確実にモデル図を作ることができたことを良いとする記述である.④は良いとする対象が明示されていなかった.このことは,課題3への取り組み自体を良いと感じたとも考えられる.⑤は授業中の自身の取り組みに対して,「~できれば良かった」等の願望の記述である.
課題(4)は通信を利用する最初の課題である.正答率は75%(152/204)であった.204件のモデル図が提出された.そのうち,車道の信号機を担当した生徒の正答率は63%(77/123),横断歩道の信号機を担当した生徒の正答率は93%(75/81)である.誤答は52件あった.主な誤り内容は,課題(1)と(3)で確認されたものに加え,通信グループの指定がされていないなど,通信機能の利用に際する本環境特有の記法(通信の記法)誤りが多くみられた.通信の記法に関しては丁寧な指導を要することが示唆された.
課題(4)のコメント数は67件(40人)であった.出現した形容詞を表3に示す.「良い」を含むコメントを付録表のアイデアユニットにより次の5項目に分類した.①MDD(9件),②協力(4件),③上達(3件),④モデル図要素の配置(1件),⑤仕組みの理解(1件).①は通信機能を用いた複数の信号機の連動が成功したことを良いとする記述である.②はグループ内での協力が良いとする記述である.通信機能を用いることで送信と受信を異なる生徒が各自のモデル図に含める必要が生じた.そのため,それ以前の課題以上にグループ内での対話を生じ,それにより教え合いも誘発されていたことが推察される.③はモデリングの能力が身に付いたことを良いとする記述である.この課題までに,生徒は複数種類の信号機のモデル図を繰り返し作成してきた.その成果として信号機の機能をモデル図として表現することが上達していたと考えられる.④は見やすいモデル図を作成できたことを良いとする記述である.⑤はこの課題を通して,現実の信号機の仕組みを理解できたことを良いとする記述である.
一方,「難しい」を含むコメントを付録表のアイデアユニットにより以下の3項目に分類した.①MDD(6件),②役割分担(1件),③対象不明(6件).①では,さらに3つの下位項目に分類される.①-1信号機の連動(3件),①-2時間制御(1件),①-3仕組みの理解(2件).①-1は複数の信号機が通信することで連携する振る舞いを表現することに難しさを感じた記述である.①-2は時間経過のパラメータ調整に難しさを感じた記述である.①-3は現実の信号機の仕組みに難しさを感じた記述である.②は自分以外のグループメンバが担当した信号機の仕組みに難しさを感じた記述である.③は難しさを感じた対象は明示されていない.このことは,課題4への取り組み自体に難しさを感じたものと考えられる.
本稿で取り上げた3課題(課題(1),課題(3),課題(4))において,少なくとも2/3の生徒は授業時間内に誤りのないモデルを記述できていた.モデル図の単位では,車道の信号機において,課題(3)では約1/2が正答であり,通信を取り入れた課題(4)では約2/3が正答するようになった.すなわち,課題(1)はほぼ全員が正答できる課題であったため,単元の導入としては適していたと考える.課題(3)と課題(4)は,極端に高い正答率や極端に低い正答率の課題ではなかったため,実践者が設計した難易度としては生徒に適していたと判断できる.
また,これらの結果から,提案環境を用いたモデリング学習により,プログラミング教育における設計・実装・実行・評価の一連の活動が実現されたことが分かる.限られた授業時間内でこれらの活動をすべて行えたのは,MDDを取り入れた成果だと考える.時間制御やセンサ入力を伴う課題により,計測と制御に関する学習が行えた.また,通信や連動をテーマにした課題により,双方向性のあるコンテンツの作成がなされた.さらに,役割を分担して問題解決する課題形式としたため,複数人が協力して課題に臨む様子が確認された.このことから,対話的な学びが誘発されたと考える.
これらのことから,提案環境の特徴は,中学校技術科の授業で有用であることが示唆された.
本稿では,SRPSの機能と授業実践のケーススタディ,実践でのコメントを分析した成果について述べた.これらの結果から,SRPSは中学校技術科の授業で有用であることが示された.教師により設計された対象単元は,「計測・制御のプログラミング」と「双方向性のあるコンテンツ作成」であった.提案環境を用いることが,これらの演習に効果的であることが示唆された.
今後は「双方向性のあるコンテンツ作成」に寄与する機能拡充を目指す.また,モデル図作成時のログを解析することで,モデリング学習における学習者の特徴を明らかにしていく.
謝辞 本研究は科学研究費補助金基盤研究B(16H03074,22H03702)と基盤研究C(20K03146)の支援を受けた.
Faigley & Witte [27]に基づき,アイデアユニットを用いてコメントを分類した.ここでのアイデアユニットとは主語/主部と述語を組み合わせた語のまとまりを指す.文献[27]はアイデアユニットによる文章推敲の評価法であり,英語表記の場合の基準を示している.本研究でのコメント分析では,文献[27]の定義に沿い,かつ日本語でのアイデアユニットの考え方を示している邑本の認定基準[28]を採用した.本研究では,述語として形容詞と形容動詞に着目した.形容詞と形容動詞は授業内容に対する感想を表現している品詞であると考えたからである.生徒のコメントに対する形態素解析の結果,形容動詞は出現していなかった.そのため,表3には形容詞のみ掲載している.
付録表に分析に利用したアイデアユニットを示す.[ ]はアイデアユニットである.アイデアユニット内の+マークは語の組み合わせを示す.{ }内の語は選択肢を示す.たとえば,課題(1)の「すごい」における[信号+{発信,出て,伝わって}]のアイデアユニットでは[信号+発信],[信号+出て],[信号+伝わって]の3種のアイデアユニットがあることを示している.このうち,[信号+発信]は生徒のコメント中の文の主部あるいは目的語に「信号」と「発信」を存在し,述語が「すごい」であることを示す.
2022年現在,信州大学大学院修士2年.2020年信州大学工学部卒業.学部4年から継続して情報教育を支援する教材開発研究に従事.
2022年現在,信州大学大学院修士1年.2021年信州大学工学部卒業.学部4年から継続して情報教育を支援する教材開発研究に従事.
2022年現在,信州大学大学院修士1年.2021年信州大学工学部卒業.2022年より,情報教育を支援する教材による,学習成果の解析研究に従事.
2022年現在,信州大学4年.情報教育を支援する教材開発研究に従事.
信州大学教授.博士(工学).2014年より現職.情報教育の研究に従事.2011年教育システム情報学会論文賞受賞.ACM,IEEE,電子情報通信学会,情報処理学会,人工知能学会,各会員.
ものつくり大学准教授.博士(工学).2018年より現職.2016年ECEL2016 e-Learning Award受賞.身体知獲得支援の研究に従事.ACM,人工知能学会,情報処理学会,日本教育工学会,各会員
信州大学特任助教.博士(工学).2022年より現職.2016~2020年名古屋大学研究員.工学的実践力育成の研究に従事.
信州大学准教授.博士(工学).2020年より現職.モデル駆動工学,オブジェクト指向開発および要求工学に関する研究に従事.IEEE,ACM,情報処理学会,電子情報通信学会,日本ソフトウェア科学会各会員.
箕輪町立箕輪中学校技術科教諭.2018年度より教育のICT化・IoT化に積極的に取り組む.同年よりモデリング学習支援環境を利用した授業を実践.
会員種別ごとに入会方法やサービスが異なりますので、該当する会員項目を参照してください。