情報処理学会 インタラクション 2018
IPSJ Interaction 2018

1B57
2018/3/5

小学生のためのアルゴリズム教育支援アプリケーションの提案
木元郁己†1柳英克†1

概要：ソフトウェア開発などにおけるプログラムのアルゴリズムを学ぶことは，効率的にプログラミングスキルを習得するために必要不可欠である．文部科学省では，2020 年の新指導要領にて，アルゴリズムの論理的思考を学ぶことを目的とし，小学生を対象としたプログラミング教育の実施を検討している．しかし，指導者不足の問題や，指導者の専門的な技能の差が教育効果に大きく影響することが予想されている．そこで，本研究では小学生のプログラミン
グ教育に着目し，アルゴリズム教育支援アプリケーションを提案する．本アプリケーションは，アルゴリズムの論理的な思考によって，体操をモチーフにしたポーズの組み合わせをつくる．学習者は，複数の異なるポーズが同時に実行されたとき，それぞれの動作が干渉しないよう考慮した一連の動きを作成することで，アルゴリズムの概念を学ぶことができる．本研究は，プログラミング教育におけるアルゴリズム教育支援アプリケーションとしての有用性について検証する．

Proposal of algorithm learning application for primary schoolstudents
IKUMI KIMOTO†1HIDEKATSU YANAGI†1Abstract: Learning algorithms is essential for efficient programming. The Ministry of Education, Culture, Sports, Science andTechnology is considering programming education for primary school students from 2020. However, technical teacher are missing
also the difference in teachers influence on the expected educational effect.In this research, I focus on primary school students'
programming education and develop algorithm learning application for primary school students. This application creates acombination of poses with gymnastics motif by logical thought of algorithm. Learner can learn the concept of the algorithm bycreating a series of motions that take into consideration that each poses does not interfere when a plurality of different poses areaction at the same time. This research examines the usefulness as an algorithm learning support application.

1. 背景
プログラムの骨格となるアルゴリズムを学ぶことは，効である．また，指導者不足の問題や，指導者の専門的な技能の差が期待される教育効果に大きく影響することも予測されている[1]．

率的にプログラミングを行うために必要不可欠である．最

そこで，本研究では簡単なタッチ操作によるビジュアルプ

近では，アルゴリズムを学ぶことや考察することが，論理ログラミングでできる，並列処理を題材とした小学生のた的な思考力，問題解決能力などを養うともいわれている．

めのアルゴリズム教育支援アプリケーションを提案する．

文部科学省では，身近な生活でコンピュータが活用されていることや，問題の解決には必要な手順があることに気付

2. 目的

くことを目的とし，2020 年の新指導要領にて，小学生に向本研究では簡単なタッチ操作によるビジュアルプログラ

けたプログラミング教育を実施することを検討している

ミングを用いた，小学生のための並列処理を題材としたア[1]．しかし，小学生がプログラミング言語を学習するのはルゴリズム教育支援アプリケーションを提案する．このア負担が多い上に，小学校では，2011 年度からの新学習指導

プリケーションは，プログラミングの知識を必要とせずに要領において，プログラミング授業を行うとされている総アルゴリズムの概念について学ぶことができるため，他の合的な学習の時間の標準が，今までの 430 授業時数から 280

プログラミング初学者向けビジュアルプログラミング言語授業時数に削減されている[2]．そのため，他の教科指導のに比べて短い時間でのアルゴリズム学習を実現することが中で，プログラミング授業を検討するなど， 適切な時数のできる．また，プログラミング教育を受けてこなかった指管理と学習活動の見直しが求められている．そのような状導者でも，等しく利用できるように本アプリケーションを況において，プログラミングの授業に多くの時間をかける設計することで，指導者の専門的な技能の差が期待されることはできない．森ら[3]は後述する「Scratch」を用いたプ

教育効果に影響を与えることを防ぐ．体験する人数が多けログラミング授業の実践を計 26 時間使って行っている．

れば，実際に体を動かして考えることができるため，体験

しかし，実際にこれだけの授業時間を確保することは困難的な学習も可能になる．これまでのアルゴリズム教育は，†1 公立はこだて未来大学
Future University Hakodate© 2018 Information Processing Society of Japan405

情報処理学会 インタラクション 2018
IPSJ Interaction 2018

1B57
2018/3/5

実際にプログラミング言語を用いて行われることが多かっ校高学年に対し，期待される効果が高いと考えられる．したため，初学者には親しみにくい．また、実行されたあとかし，一つ目の教材の内容は「プログラミン」の操作を覚の過程などがわかりにくい．そこで本アプリケーションをえることを目的とした内容であり，授業時間を効率的に利用いることで，学習者に，どの段階で干渉が生じ，プログ用できているとはいえない．

ラミングにエラーが発生しているかをわかりやすく示すことができると考える．

3. 関連研究3.1 Scratch
Scratch は MIT Media Lab で開発が進められているビジュアルプログラミング環境である．プログラミングでいう処理に相当するブロックをつなぎ合わせてプログラムを作成するのが特徴で，強力なマルチメディア機能により多彩な作品が簡単に作成できる．また，他の利用者の作品も共有

図 1

されているため，他の作品のプログラムを参考にすること

Figure 1

プログラミンの命令ブロック
Programin’s instruction block.

で自らの学習にさらなる応用を加えることも可能である．
Scratch は無償で提供されていて，150 以上の国で使用され3.3 Viscuitていて，教育の現場でも利用されていることから，指導者

原田[7]は子供向けプログラミング教育用のツールとしによる活用事例の共有や，教材の交換などのサービスも充て 2003 年に「Viscuit」を開発した．
「Viscuit」は二つの図形

実している[4]．の置き換えを繰り返すことで，動きや移動を表現したアニ

長所として，実際のプログラミングに近い処理が行われ，メーションを作ることができる．開発の目的として，小学簡単な動作から複雑な動作まで対応し，特に 8 歳から 16 歳

校 3 年生程度の年齢の児童を対象とし，プログラミングス向けにデザインされていることがあるが，日本の初等教育キルや言語に必要な命令などの構成要素を学ぶものではなの現場では，アルゴリズムの概念を理解できるほど学習がく，「コンピュータとは何か」ということの理解を深めるこ進められていない[5]．また指導者のためのサービスは英語とを目的としている．
「Viscuit」は改良が重ねられ，web ででのみのサポートであるため，日本において，これまでプ動作し簡単に利用できる他，ワークショップのための利用ログラミングやアルゴリズムの教育を受けていない教員がを支援する機能も充実している．しかし，小学生にはイン教材として利用するには，準備の時間を必要とする問題がタフェースがわかりにくいものになっている（図 3）．また，挙げられる．

他のビジュアルプログラミング言語に比べ創作性を重視し3.2 プログラミンていることから自らが描いた絵をアニメーションとして動文部科学省では，2010 年からプログラミング環境としてかす．そのため，男児などが恥ずかしがり絵を描くことを「プログラミン」を提供している．
「プログラミン」は，プ嫌がることがある．更に，2 つの描いた絵の差から移動やログラムの基本である命令を並べるという行為に学習者が動きを表現しアニメーションを作るため，この仕組みを深

自ら触れ，楽しみながら新しいルールを発見していくこと

く理解していないと思っていた動作と違った動作が実行さができるようにデザインされている．
「Scratch」と同じく無れることがある[8]．

料で提供されていて，ブラウザで利用することができる．
それぞれの命令ブロックは子供が親しみやすいようにキャラクタ化されている(図 2)．
深谷ら[6]は，小学校 6 年生を対象とし授業を実施した．
授業内容は，課題を遂行することを目的とした教材を 2 つ用意し，それぞれを行った．アンケート評価を行い各授業に関する感想を調べたところ，ほとんどの児童が「プログラミン」を用いた授業は楽しいと回答していた．また，授業の難易度に関する質問の結果から「プログラミン」を利用したプログラミングはさほど難しいと感じていないことが分かった．更に，「プラグラミン」に対する意欲では，もっと「プログラミン」を使ってみたいという児童が多かっ

図 2

Viscuit のインタフェース

Figure 2

Interface of Viscuit.

た．このことから，「プログラミン」を用いた授業は，小学© 2018 Information Processing Society of Japan406

情報処理学会 インタラクション 2018
IPSJ Interaction 2018

1B57
2018/3/5

4.3 目標本アプリケーションは，教材としての利用において指導

4. 提案内容

者と学習者の両方が多くの学習時間を必要とせず，アルゴ

4.1 仮説リズムの構築を体験することができるため，総合的な学習

文部科学省では 2020 年の新指導要領にて，小学生に向や，ワークショップ形式などの短い時間での利用を目標とけたプログラミング教育を実施することを検討しているが，している．また，処理の内容は身体的な動きで表現されて確保できる授業時間が少ない上に小学生がプログラミングいるため，理解や想像が容易と考える．単純に全てのポー言語を学習するのは負担が多いとしている．また，指導者ズを選択するのではなく固定のポーズが存在し，その他の不足の問題や，指導者の質によって期待される教育効果のポーズを干渉しないように選択するような課題も用意する．

差が大きいことを懸念点としている．

ワークショップの最後には，制作物のフィードバックや，本アプリケーションは，簡単なタッチ操作により並列処共有することが大切な要素となってくるため，参加者で実理のアルゴリズムを構築するため，プログラミングのスキ際に体を動かして体験してもらう．画面上で表現されていルを必要としないため，操作の練習など準備にかかる時間るものを身体的な体験することで，より記憶に定着させるが少ない．また，教材として複雑な操作を必要としないたことも一つの手法として考えられる．

め，指導者に関わる懸念点を解消できると仮説を立てる．
4.2 アプリケーションについて

5. 実験と評価

本アプリケーションは，web アプリケーションとして制本研究の実験と評価は，学童保育に通っているプログラ作する．web アプリケーションとすることで，ブラウザのミング教育を受けたことがない児童を対象に，ワークショ機能を持っているデバイスであればどこでも利用が可能でップを行う．ワークショップでは同レベルの課題を二つ用あり，インストールなどの特別な動作を必要としない．そ意することで，本アプリケーションを利用する前と後で論のため，生徒用のパソコンルームでの利用や，タブレット理的な思考ができているかどうかを検証する．また，指導教育を実践している学校ではタブレットでの利用，自宅に者による違いで達成度に差があるかどうかを検証するため帰ってからスマートフォンでの利用などといった幅広い運に，学童保育の先生にも本アプリケーションを使用した教用が可能である．

育を行ってもらう．実験後はアンケートを行い，本アプリ構成要素としてアプリケーション説明画面，動き設定画面，実行画面の 3 つの状態があり（図 4），動きの設定時には，8 つのポーズを並び変え、前後で干渉が起こらないよ
うに並べることで組み合わせを作る．この行為が，並列処理のアルゴリズムを構成することに相当する．干渉が起こらず，正しい並列処理が行われている場合には正しい実行ケーションのインタフェースの操作性や，プログラミングに対する姿勢が変わったかどうかなども評価する．

参考文献[1]

結果が返ってくる．干渉が起こっている場合には，実行時にどのタイミングで干渉しているかを明示することで，エラーが起こっている場所をわかりやすく学習者に伝える．

[2]

このことで，プログラミング言語のデバッグ作業をより分かりやすく表現すると同時に，エラーの修正に時間を浪費することを防ぐ．

[3]

[4]
[5]

[6]

[7]

図 4
Figure 4

実行結果の画面
Execution result.

© 2018 Information Processing Society of Japan[8]

文部科学省 “小学校段階におけるプログラミング教育の在り方について（議論のとりまとめ）”.
http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.html, (参照 2016-02-20).
文部科学省:今，求められる力を高める総合的な学習の時間の展開（小学校編） 教育出版,2011https://support.office.com/ja-JP/article/d38d6e47-f6fc-48eb-a6071eb120dec563, (参照 2016-02-20).
森秀樹, 杉澤学, 張海, 前迫孝憲,Scratch を用いた小学校プロ
グラミング授業の実践 日本教育工学会論文誌，2011, 34（4）p.387−394.
“Scratch, Scratch について”.
https://scratch.mit.edu/about
奥本幸, 蘆田昇, 下條雅史, 久田将大, 早期プログラミング教
育の試み, 福井工業高等専門学校, 研究紀要, 自然科学・工学 第 42 号, 2008.
深谷和義, 宮地昌子, 小学生向けプログラミング授業のための「プログラミン」利用の検討, 日本教育工学会論文誌
36(Suppl.), pp.9-12, 2012
原田康徳, ビジュアルプログラミング言語ビスケット(Viscuit)の紹介, コンピュータソフトウェア, Vol.32, No.1,
pp.18-26, 2015
原田康徳, 子供向けビジュアル言語 Viscuit とそのインタフ
ェース, 情報処理学会, 2005.

407