教育システム情報学会 2013年度学生研究発表会

関西地区

初等プログラミング教育のための学習コンテンツの作成
Development of Learning Materials for the First Step of Programming Education
ムフリー ハムディカ， 内田 眞司
Hamdika MUFLIH， Shinji UCHIDA
奈良工業高等専門学校 情報工学科
Department of Information Engineering, Nara National College of Technology
Email: muflih@info.nara-k.ac.jp, uchida@info.nara-k.ac.jp
あらまし：プログラミング教育においては，学生が「プログラミングが嫌い」，「プログラミングに興味がない」といった意識を持つことがある．様々な理由が挙げられるが，プログラミング教育の導入時に，これらの意識を植え付けさせないような指導やコンテンツの採用が不可欠である．本研究では，上記の問題意識を考慮した初等プログラミング教育のための学習コンテンツを作成することを目的とする．作成したコンテンツの評価実験を行った結果，コンテンツの有用性を確認できた．
キーワード：教育，プログラミング，ビジュアルプログラミング，Scratch，Computational Thinking

1. はじめにプログラムの処理の流れを指す．プログラムを作成する上で，プログラム実行時の振る舞いを頭の中でイメージしながらプログラムを作成する必要がある．
しかし，従来のテキストベースのプログラミング言語ではプログラムの流れを直接表現できないため理解しにくい．特にプログラミング初心者にとって，プログラム実行時の振る舞いを頭の中でイメージしながらプログラムを作成するのは困難で，結果としてプログラミングが嫌いになる．ビジュアルプログ
ラミング言語は，プログラムの構造をテキスト形式で表すのではなく, 絵やアイコンを含んだり，関連を線で示したりするなどグラフィカルに操作することでプログラムを作成する方式で，初心者にとって直観的で理解しやすい.
以上から，作成するコンテンツは，Scratch(1)を用いて日常にある Computational Thinking(2)（以降，CTと略す）を採用したコンテンツを作成する．Scratchというのは学習用のビジュアルプログラミング環境である．CT というのは，計算機科学分野の技術に基づいた日常生活にも適用可能な問題解決能力である．
CT におけるプログラミング概念 8 つ(3)のうち逐次(Sequences)，条件分岐(Conditionals)，繰り返し(Loops)
3 つの概念に着目した．
2.2. コンテンツの作成
コンテンツは 6 つ(逐次：2，条件分岐：2，繰り返し：2)作成した．各コンテンツに対して正答アニメーションも作成した．コンテンツは Scratch のホームページにアップロードされ，共有でアクセスすることができる（http://scratch.mit.edu/studios/349814/）．
図 1 は信号のある交差点を渡る行動に関するコンテンツ(条件分岐)である．まず，指定された Web サイトで公開されている対象コンテンツの正答アニメ

プログラミング教育において学生が「プログラミングが嫌い」，「プログラミングに興味がない」といった意識を持つことがある．様々な理由が挙げられるが，プログラミング教育の導入時(初等プログラミング教育時)に，これらの意識を植え付けさせないような指導やコンテンツの採用が不可欠である．
本研究では，上記の問題意識を考慮した初等プログラミング教育のための学習コンテンツを作成することを目的とする．まず，本校情報工学科学生 1,2年生のプログラミングに対する意識をアンケートにより調査した．その結果，83 人中 18 名(22%)が「プログラミングが嫌い」と回答した．以下に「嫌い」と答えた理由の上位２項目を示す．
[要因1] プログラミングの考え方が分からなくなったとき[要因2] プログラムの流れが分からなくなったとき
この２点に着目した学習コンテンツを作成した．

2. 研究方法
2.1. アプローチ
要因 1 については，日常生活の行動や習慣などを教材とすることで解決する．プログラミングの考え方とは，プログラムによる問題解決の方法をさす．
一般にプログラミングの教材は，数学や物理など前提知識を必要とするものが多い．教材に関する前提知識が希少な場合は，学生の負担が増加し，結果としてプログラミングが嫌いになる．日常生活の行動や習慣は，数学や物理に比べて前提知識が希少な学生は少なく，負担を軽減させることができる．
要因 2 については，ビジュアルプログラミング環境を採用する．プログラムの流れとは，動作させた

19教育システム情報学会 2013年度学生研究発表会

関西地区

ログラミング要素を学習する上で従来の授業内容と同等かそれ以上に効果があると言える．
また，グループ A に対してコンテンツに対する感想のアンケート調査を行った．結果として，全員（5人）からコンテンツが分かりやすくて面白かったと回答した．また，本実験をした後プログラミング概念の知識が増えたと感じたとも回答した．他にも，「プログラムがどういった流れで行われているのかがよくわかった」，「プログラミングはあんまりやったことはなかったけど簡単で，初心者の方にも分かりやすいコンテンツでした」，「コンテンツの中身が簡単に分かるので良いと思いました」という感想や意見があった．
以上より，作成したコンテンツは初学者向きで，プログラミング概念やプログラム流れを理解させることができ，分かりやすくいコンテンツであり，学生にも好評されるコンテンツであった．
表 1 テスト結果
グループ
平均(100 点満点)
標準偏差
A
86.67
4.08
B
70.00
12.47
C
73.33
9.72

図 1 コンテンツ外観ーションを見る．次に，コンテンツ左側のアニメーションが正答アニメーションと同じアニメーションになるようにコンテンツ右側でプログラムを作成する．プログラム作成は Scratch で行われる．Scratch
上には，あらかじめプログラムを作成する部品が提示されているので学生は，試行錯誤しながらプログラムを作成する．

3. 評価実験
3.1. 実験目的と方法作成したコンテンツを評価するために，本科 1,2年生に対する被験者実験を行った．本実験の目的は以下の 2 点である．
ア）作成したコンテンツ自体が良いかどうかを調べること
イ）作成したコンテンツが学習コンテンツ（授業内容）として良いかどうかを調べること
まず 5 人一組のグループを 3 つ(A,B,C)構成した．
グループ A と B は 1 年生，グループ C は 2 年生である．すなわち，グループ A と B はプログラミング知識をまだ持っていない状態である．一方，グルー
プ C は少なくとも 3 つの概念（逐次，条件分岐，繰り返し）を従来の授業形態で学習した状態である．
グループ A に対しては，プログラミング概念３要素を講義形式で説明し，Scratch の練習をさせた後，コンテンツ 6 つで学習する．学習後に理解度を確認するためのテストとコンテンツに対するアンケート調査を行った．グループ B に対しては，プログラミング概念３要素を講義形式で説明した後，テストを行った．グループ C に対しては，テストのみを行った．
3.2. 結果と分析
テストの結果を表 1 に示す．表 1 より，グループA の得点はグループ B より高かった．よって，作成したコンテンツが良いといえる．また，グループ Cよりも高かった．よって，作成したコンテンツがプ

4. おわりに本研究では，初等プログラミング教育のための学習コンテンツを作成した．事前アンケートで得たプログラミングが苦手な要因を考慮し，Scratch を用いて日常にある Computational Thinking を採用したコンテンツを作成した．コンテンツを用いた評価実験を行った結果，コンテンツの有用性を確認した．
ただし，作成したコンテンツはプログラミング概念の理解が目的である．今後の課題は，このコンテンツを足がかりとして，プログラムを書く能力に繋げるためのコンテンツの作成である．
参考文献
(1)

(2)

(3)

20

John M. et.al, “The Scratch Programming Language
And Environment,”ACM Transactions on Computing
Education, Vol. 10 Issue 4, November 2010．
Jannette M. Wing, “Computational Thinking,”
Communications of the ACM, Vol. 49, No. 3, pp.33 – 35,2006.
Karen Brennan, “Computational Thinking Concepts,”(http://scratched.media.mit.edu/sites/default/files/Webinar
3 - CT Concepts.pdf)（参照 2014－01－01）