Unity を用いた学習アプリケーションの提案

{広瀬研究室 4 年 \atop C1211088 佐藤逸樹}

令和 6 年 11 月 20 日

概要

日本では 2020 年には小学校， 2021 年には中学校， 2022 年には高校でのプログラミング学習の必修化が始まっている。小学校，中学校の場合，実際に行われるプログラミング学習とはプログラミング言語を学ぶものではない。実際に言語を学ぶのは高校に上がってからである。しかし，後に学ぶであろう言語に触れておくことは予習という点から見てやっておいた後が良いのではないかと考えた。そのため，小学生，中校生の学習方法に近い言語学習アプリの作成を提案する。

1 背景 2017 年及び 2018 年に行われた文部科学省による学 習指導要領改訂 [1] によって，コンピュータを理解し 上手に活用していくことは，これからの社会を生きて いく子どもたちにとって，将来どのような職業に就く としても，極めて重要なこととなっているという考え から， 2020 年には小学校， 2021 年には中学校， 2022 年には高校でのプログラミング教育の必修化が行われ ている [2]。平成 28 年に行われた文部科学省の有識者 会議によると，小学校，中学校のプログラミング教育 は実際に文字を書くようなテキスト型プログラミング 言語を学ぶのではなく，自分の意図した一連の活動を 実現させるためにどのような動きや記号が必要で，そ れらをどのように組み合わせたり改善していけばよい かを論理的に考えていく力であるプログラミング的思 考を育むことが目的であると定義した [3]。テキスト型 言語は高校に進学してから学習する [4]。文部科学省は プログラミング的思考を育む方法のうちコンピュータ を用いる方法でブロックを積み上げるようにしてプロ グラミングを行うビジュアル型プログラミング言語を 用いて自分が考えている動きを実現させる方法を想定 している。実際に岐阜県の小学校では第 3 学年からビ ジュアル型教材を扱っているという実施例がある [5]。 ビジュアル型言語は初学者にとって使いやすいプログ ラミング言語と考えられており，入門段階で成功を収 めている。  しかし，ビジュアル型プログラミング言語が入門段 階で成功を収めていると言っても，高校に進学後いきなりテキスト型プログラミング言語を学ぶことは，学 習内容を理解することがで難しい人も出てくるのでは ないかと考える。プログラミングに限らず学校で学ぶ ことは一度で覚えられるものばかりではないため，学 校での学びで授業に遅れず理解を深めるためには予習 を行うことが重要であると考える。  そこで，このビジュアル型言語を利用して後に学習 するテキスト型言語を学ぶことは，今後プログラミン グ言語を学習する際の予習となり，授業理解が捗るの ではないかと考えた。 2 目的 本研究ではビジュアル型言語の形でテキスト型言語 を学習できるアプリケーションを開発し，プログラミ ング学習を受けている小中学生が，高校に進学した後 にプログラミング言語を予習する際の手軽な学習手段 としてもらうことを目的とする。 3 先行事例 3.1 先行サービスの例 ビジュアル型言語はすでにいくつも世の中に出回っ ている。ここでは先行サービスを 3 つ紹介していく。

3.1.1 Scratch

Scratch^{1}は世界最大の子供向けコーディングコミュニティーでシンプルなビジュアルインターフェースを持ったコーディング言語であり、特に 8 歳から 16 歳向けにデザインされているがすべての年代の人々使われている。自宅、学校、博物館、図書館など幅広い場面で利用されている。

3.1.2 Viscuit

Viscuit^{2}はメガネという単純な仕組みたった一つだけで簡単なプログラムから組み合わせ次第で複雑なプログラムまで作ることができるプログラミング言語である。 Viscuit ではアニメーション・ゲーム・絵本などを簡単に作ることができる。

3.1.3 TILES

TILES^{3}はシンプルなプログラミング言語であり使用する命令は 6 つのみであるため多くの命令を覚える必要がない。またプログラミングの基本を学ぶための学習テキストがついているため、学習を勧めていくのが容易である。この学習テキストの応用編では人工知能の基礎を学ぶこともできる。

3.2 先行研究の例

ここではビジュアル型言語とテキスト型言語の両方を使用した先行研究を紹介していく。

3.2.1 BlockEditor を用いて課題での利用率を調べた研究

松澤ら [6] は，ビジュアル型言語は入門段階で成功を収めているが，将来テキスト型言語を必要とする学習者がテキスト型言語への発展が見えにくいシステムを利用することは，入門学習への動機付けをそぐ理由となり，ビジュアル型言語で学習した内容がその後の発展につながらないとしたら本末転倒であるとして，ビジュアル型言語とテキスト型言語を相互変換できる BlockEditor というシステムを用いて，ビジュアル型言語でプログラミングの基礎知識を学習し理解したあとテキスト型言語による実装へとシームレスな移行を目的としている。結果として，最終的に全体の 80 ％の人の BlockEditor 使用率が低下している。また BlockEditor を使うことによる Java 習得への影響についての質問で BlockEditor を使うことで Java 構文の理解が深まると思うというものの支持率が半数程度得られた。このことから BlockEditor が Java 言語習得の足場かけとして機能しているという結論がなされている。

3.2.2 ビジュアル型とテキスト型の学習順序による教育的効果を調べた研究

岡本ら [7] は，ビジュアル型言語として Blocky Games を，テキスト型言語として Python を利用し，その学習順序がプログラミングへの知識・技能・情意面の変化として教育効果にどのような影響を与えるのか考察することを目的としている。結果として，どちらのグループも事前・事後アンケートの結果から情意面の意識に有意な変化はなかったが，事前・事後テストでは先にビジュアル型言語を学習したグループの方がもう一方に比べ「全くわからない」という回答が少なくなっていたことから，先にビジュアル型プログラミング言語を学習することの優位性が示された。

3.3 先行事例の課題点

スクラッチやタイルズはもともとが子供向けに作られているためプログラミングを全く行ったことがない人であってもプログラムを組むことができるが，ビジュアル型言語であるためテキスト型言語を習得することができない。ビスケットはプログラムを書く際にメガネという独自のルールに則って作業をするため，テキスト型言語を使用する際の形と大きく異なることになる。松澤，酒井らは彼らの研究の限界として， BlockEditor の利用率の分析にとどまっており， BlockEditor が理解度の向上に寄与した直接的なデータが得られなかったことを上げている。岡本恭，安藤らの研究の今後の課題として，彼らが実験で行った画像処理に対する学習以外の学習内容に変えても効果が得られるかどうかというものを挙げている。また, これらの事例・研究の使用端末は計算機であることからスマートフォンなどでは学習できない可能性がある。そのため, 利用者が手軽にシステムを利用するためには, より軽量なシステムを作成する必要がある。

1https://scratch.mit.edu/ 2https://www.viscuit.com/ 3https://vpltiles.com/

4 システムの概要

4.1 システムの全体の流れ

1. 利用者はシステムのある Web サイトにアクセスし、はじめに問題に即した説明文を読む。

2. 問題を表示し, 問題が正解になるようにブロクの配置を入れ替える。

3. 解答が正しくブロックが配置されたら正解または不正解を表示する。システムの概念図は図 1，システムの流れは図 2 の通りである。

図 1: システムの概念図

図 2: システムの流れ

4.2 学習内容について

プログラミング言語学習で学習する単元の一覧は図 3 のとおりである。本研究で作成したシステムを利用者が Web 上で利用する際に学習するプログラミング言語は東北公益文科大学の基礎プログラミングの授業でも扱われている Ruby とし，内容は上記の単元の中でもプログラミングをする際によく使われる制御構造，メソッドの一部の範囲とする。

5 システムの開発

5.1 開発環境

• Unity version 2021.3.25f1 図 3: プログラミング学習における単元の一覧

Unity とは主に 2D、 3D ゲームの制作に用いられるゲーム制作エンジンで簡単なゲームから複雑なゲームまで様々なゲーム開発に用いられている。

• C ＃ C ＃とはマイクロソフトが開発したプログラミング言語であり， GUI アプリ開発や、 Webt アプリ開発，ゲーム開発などに使われる。今回は Unity にプログラムを入力する際に使用。

5.2 システムの機能

5.2.1 プログラミング言語説明機能

学習する言語について説明する機能である

5.2.2 パズルクイズ形式学習機能

パズルクイズ形式学習機能は、システムの利用者がシステムを開始したら問題が出題され，それに対して利用者はパズル形式で回答するための機能である。

5.3 システムの提供方法

Unity ではシステムを Unityroom という web サイトに投稿することができるため web 上に上げたシステムを使用者に使ってもらうという形で提供する。

6 予備実験

6.1 実験方法

本研究のシステム評価の方法として酒田光陵高校の情報科の生徒 20 名を対象者として，システムを利用してもらった後、アンケートに回答してもらいその結果によって評価を行う。 (図 4)

図 4: 実験の流れ 6.2 実験結果 結果,1 週間中 70 ％の人が家でプログラミングの学 習をほとんど行わず， 75 ％の人が小学校・中学校でビ ジュアル型言語の利用経験があり，全員がテキスト型 言語の利用経験があるということだった。この結果よ り実験の被験者として相応しいと判断した。また，他 のアンケート内容の結果よりシステムの有用性が示さ れた。システムに対する意見として「問題が難しかっ た」「問題の回答中にもメソッドや制御構造の説明が 見たかった」「問題回答中にヒントが欲しかった」な どの意見があった。 質問 3 文字や記号のみでプログラミングを学習する のに比べ，今回のようなプログラミング学習方 法は簡単でしたか。 質問 4 今回行ってもらったプログラムの学習方法は わかりやすかったですか。 質問 5 今回行ってもらった方法によるプログラミン グの学習はプログラミング能力向上や学校の授 業の予習に役立ちますか。 • 役立たない・・・ 0 ％ • 役立つ・・・ 100 ％ 図 5: 質問 3 および 4 の回答結果 7 今後の展望 本研究で使用するシステムの大部分は完成した。今 後は，アンケートで得られた意見を参考にシステムを

改良していき， 20 歳から 22 歳までの大学生を対象に実験を行う予定である。その実験から改良した内容が適切であったかを判断し，システムがプログラミング言語を予習する際の手軽な学習手段になったかを判断する。

参考文献

[1] 文部科学省. “小学校プログラミング教育の手

引（第三版） ”. 2020-02. https://www.sejuku.
net/blog/wp-content/uploads/2021/07/
20200218-mxt_jogai02-100003171_002.pdf,

(参照 2023-08-15).

[2] 文部科学省. “学習指導要領改訂に関するスケジ

ュール”. https://www.mext.go.jp/content/
20220907-mxt_kyoiku02_100002604_001.

pdf, (参照 2023-08-15).

[3] 文部科学省. “小学校段階におけるプログラミング教育の在り方について（議論の取りまとめ） ”. 2016-06-16. https:

//www.mext.go.jp/b_menu/shingi/chousa/
shotou/122/attach/1372525.htm,  (参照

2023-11-20).

[4] 文部科学省. “高等学校 学習指導要領 (平成 30 年公示)”. 2018-03. https:

//www.mext.go.jp/content/20230120-mxt_
kyoiku02-100002604_03.pdf, (参照 2023-08-

15).

[5] 岐阜県教育委員会 学校支援課. “小学校プログラミング教育 実践事例集”. 2020-02.

https://www.pref.gifu.lg.jp/uploaded/
attachment/238416.pdf, (参照 2023-08-15).

[6] 松澤芳昭, 酒井三四郎. “ビジュアル型言語とテキスト記述型言語の併用によるプログラミング入門教育の試みと成果”. 研究報告コンピュータと教育. vol.2013-CE-119, no.2.

[7] 岡本恭介, 安藤明伸. “ビジュアル型とテキスト型プログラミングにおける学習順序が教育的効果に与える影響”. 2020.

https://www.jstage.jst.go.jp/article/
jjet/44/Suppl./44_S44052/_pdf/-char/ja,

(参照 2023-09-25).