ビッグデータを利用するプログラミング教材の開発
Development of programming teaching materials
using big data
廣瀬 泰弘*
Yasuhiro HIROSE

福岡 大輔**
Daisuke FUKUOKA

大羽 淳也***
Junya OOBA

飛躍的に技術が進歩する現代社会において，ビッグデータなどの大規模データを分析し，有用なパターンやルールを発見，活用する能力が求められている。本研究では，WebAPI（Web Application
Programing Interface）を利用し，学習者がネットワーク上のデータを収集，分析，活用できるビジュ
アルプログラミング教材の開発を行い，中学校技術・家庭科（技術分野）における授業実践により，提案学習方法の教育的有効性を検証した。岐阜県内中学校第 2 学年 74 名を対象に中学校技術・家庭科（技術分野）において，授業実践及び調査を実施した結果，本研究の提案学習方法により，学習者はネットワーク上のデータを活用したコンテンツの作成が容易になり，問題解決活動に取り組む学習意欲の向上に有効性が示された。
キーワード：ビッグデータ，WebAPI，教育用ビジュアルプログラミング環境，問題解決型学習新産業構造ビジョン（経済産業省） 1) で示されるように，現代はディジタルデータが爆発的に増大する
ビッグデータ時代と言われ，学校教育においても生徒達に，大量のデータを分析し，有用なパターンやルールを発見し，活用する能力や課題の解決にデータを活用する力の育成が求められている。そこで，ビッグデータ（ネットワーク上のデータ）から必要な情報をプログラミングに関する内容がさらに充実することとなった 4)。
このように，現在，学校教育ではデータ活用やプログラミング教育の推進が図られている。
長井ら 5)は，高等学校「情報Ⅰ」に対応したビッグデータ分析授業の検討において，ビッグデータとして地域経済分析システム（RESAS）を用いてデータ分析を行う授業実践を行なった。実践において，ネットワーク上の地域経済分析システムからデータを取得し，Excel を用いてデータ内から 1980〜1984 年出生の人口獲得し，それを問題の解決に役立てられる力を育成する必要がある。また，問題解決能力に含まれる論理的の 経 年 変 化 を 抽 出 し ， VBA （ Visual Basic forApplication）言語を用いたプログラミングにより可視思考力を育む教育としてプログラミング教育が注目されている。平成 30 年度告示高等学校学習指導要領 2)で化を行った。データ分析においては，指定地域から，他地域への就職，進学の状況など人口分析を多角的に

は，共通教科情報「情報Ⅰ」 において，全ての生徒がプログラミングの 基礎について学習することが示され行い，自分の暮らす地域が抱える課題について新たな視点から学習者が考察及び，検討を行った。

た。また，平成 29 年度告示学習指導要領において，小学校ではプログラミングを通して論理的思考力を育む

先行研究においては，高等学校におけるビッグデー
タの活用が行われているものの，小中学校の教育段階1．はじめにことが示され 3)，中学校技術・家庭（技術分野）では， における，ビッグデータを活用した問題解決型学習を実施可能な教材や授業実践の報告はない。
******

そこで本研究では，小中学校段階においてビッグデータを活用した問題解決型学習を実施可能な教材の岐阜大学（大学院生）
岐阜大学
岐阜大学教育学部附属中学校開発を行い，中学校技術家庭科（技術分野）における授業実践により，開発するプログラミング教材の教育的有効性の検証を行う。

(1)

廣瀬 泰弘・福岡 大輔・大羽 淳也

2．研究方法

2.2.1 Scratch3.0 の概要
本教材では，学習者がネットワーク上のデータを活用してコンテンツをプログラミングにより作成する。
その際のプログラム環境の基本システムとしてScratch を用いる。Scratch とは， Scratch 財団とMIT Media Lab Lifelong Kindergarten Group が共同開発した，無料の教育プログラミング言語及び環境である。Scratch では，図 2 のようにビジュアルプログ
ラミング言語と呼ばれるブロックとして用意されている命令文をパズルのように組み合わせることで，それに応じたプログラムを実行させることができる。専門性の高い高水準プログラミング言語またはスクリプト言語と比べると直感的かつ，ドラッグ＆ドロップのみの簡単な操作でプログラムを作成できることが利点としてある。
ま た ， MIT メ デ ィ ア ラ ボ 6) が 示 す よ う に ，Scratch3.0 には，拡張機能があり，ブロックを追加して Scratch のプログラムを拡張するものである。図 3に示すような拡張機能がある。Scratch3.0 の標準的な拡張機能には表 1 に示す機能があり，ペン拡張機能のような，ペンで画面上にイラストを描く命令ブロックを追加する拡張機能がある。しかし，標準的な拡張機
能は 11 個に限定される。

2.1

ビッグデータを活用したプログラミング教材の構想
開発する教材は， 図 1 の構想図に示すように学習者自身でデータの収集，分析及び，プログラム作成を行うことで, さまざまなデータを活用したコンテンツを作成できる教材を目指す。プログラミングには，コーディングを必要としないビジュアルプログラミング言語で開発が行えること，学習者がネットワーク上のさまざまなデータを活用できること，教育現場での活用を考慮し，さまざまな OS やタブレット端末，PC など多様なデバイスに対応できることに留意して教材の開発を行う。

3.
.

3.

3.

30

.

図 1 ビッグデータを活用したプログラミング
教材の構造図

開発する教材は，学習者がビジュアルプログラミン

図 2 Scratch3.0 のプログラミング環境

グ言語環境で開発が行え，使用デバイスに制限されないことに配慮し，OS に依存しない Web ブラウザ上で実行可能な Scratch3.0 のシステムを利用する。また，ネットワーク上からさまざまなデータを取得できるよう に ， WebAPI （ Web Application ProgramingInterface）を利用した Scratch3.0 の拡張機能の開発を行う。

図 3 標準の拡張機能アイコン(2)

ビッグデータを利用するプログラミング教材の提案

2.2.3 WebAPI を利用した拡張機能の概要
開発した拡張機能では，WebAPI として公開されているものの中で，小中学校の学習内容に着目し，大きie bi
EI
く 9 つの情報を取得できる，図 5 及び表 2 に示す 12 種Te bca F WOR類の拡張機能を開発する。
ig e bi.
g(1) 気 象 ： 岐 阜 県 及 び 全 国 の 拡 張 機 能 で は ， OpenS LNV
M
Weather API から指定した都市の温度，湿度，天S L
NVlDe b
候などの情報を取得することができる。
ne b: n G b lD(2) 書籍：キーワード及び ISBN の拡張機能では，.
B.
B e b.
B.
BG k
DGoogle books API から指定キーワード及び ISBN- 0.
230 .2- 0 .
230 .2
Ge bk
Dの書籍タイトルなどの情報を取得できる。
- 0(3) 食品成分表：原本及び教科書版の拡張機能では，- 0G kDe b
日本食品標準成分表または，技術・家庭科家庭分- 0 0023 e b- 0 0023G k
D
野教科書に記載されている食品の塩分や廃棄率なAA&どの情報を取得できる。
&AA G kDe b(4) 料理レシピの拡張機能では，技術・家庭科家庭分.
A e b.
AG k
D
野教科書に記載されている料理レシピの材料や分量情報を取得できる。
(5) 地理：標高の拡張機能では，国土地理院 API から，2.2.2 システムの概要指定の座標における標高情報を取得できる。
本教材では，独自運用する Scratch サーバ（以下，(6) 地理：岐阜県の緯度・経度の拡張機能では，位置Scratch サーバと呼ぶ）内に開発した WebAPI から参照情報ダウンロードサービス及び，国土数値情データを取得する拡張機能を追加する。これにより，報市町村役場等及び公的集会施設データにおける学習者は多様なデータを活用したコンテンツを岐阜県の住所又は公共施設における座標情報など
Scratch3.0 のプログラミング環境において作成するこを取得できる。とができる。
(7) 行政：市町村データの拡張機能では，e-Stat API
開発したプログラミング教材のシステムブロック図から指定した市町村における総人口，世帯数などを図 4 に示す。システムでは，学習者のデバイスからの情報を取得できる。
ブラウザを用いて Scratch サーバにアクセスすること(8) 科学：宇宙ステーションの拡張機能では，Openでプログラミング環境を提供する。Scratch サーバ内
Notify API からアクセス時における国際宇宙スの プ ロ グ ラ ム で あ る Scratch-vm ， Scratch-gui がテーションの位置情報を取得できる。
Node.js を 介 し て 動 作 し ， 学 習 者 の デ バ イ ス に(9) ウ ィ キ ペ デ ィ ア の 拡 張 機 能 で は ， Media
Scratch3.0 の環境を提供することができる。
Wikipedia API から指定したキーワードに関するまた，ネットワーク上のデータを取得する場合，学Wikipedia の情報を取得できる。
習者のデバイスから Scratch サーバにリクエストを送「気象：岐阜県及び全国の拡張機能」を例として，
り，Scratch サーバ内の Scratch-vm に追加しておいた， データ受信時のアルゴリズムを示す。命令ブロック及開発した拡張機能から目的の WebAPI サーバに対してびアルゴリズムは図 6 に示す。ブロックの実行をイベリクエストが送信される。リクエストが送信された指ントフラグとし，データが格納される「Result」が空定の WebAPI サーバからレスポンスとして天気や書籍
白 で あ る か 確 認 す る 。 空 白 で あ る 場 合 ， http で情報が Scratch サーバに返信される。それにより，学WebAPI サーバに都市を指定する「location」及び，習者の使用する Scratch3.0 のプログラミング環境上で「APIKey」をリクエストとして送信する。送信後レ取得したデータを使用することができる。
スポンスである JSON 形式データを格納する。また，アクセス成功時刻を取得し，受信完了を知らせる変数「IsFinished」を「true」にすることで，ネットワーク上のデータを Scratch3.0 で読み出すことができる。
表１ 標準的な拡張機能(3)廣瀬 泰弘・福岡 大輔・大羽 淳也

図 4 開発したプログラミング環境のシステム（a）命令ブロックY<C

図 5 WebAPI を利用した拡張機能のアイコン  -OIS-

OISaer taerelhpin
AspyBdg k

ONW- ISMO<<CeakF

S W akC=sJ,

CC NCARO<,+TCif<COI hj

S W akdsp

1

C<pk

F<C Rhk

C0 =eP
NfAAAnin

inyA
B<CC0 =eeln Min

ko0AAA

表 2 WebAPI を利用した拡張機能cpCAbN

L PM（b）データ受信のアルゴリズム
図 6 気象データ拡張機能

G- IS r(4)Rif

ビッグデータを利用するプログラミング教材の提案

2.2.4 トラフィック・アタック対策開発した各拡張機能では，トラフィック・アッタク対策として，各拡張機能のソフトウェア上で更新間隔を制限している。
図 7 に示すようにデータ要求を繰り返し処理の中で実行する場合，WebAPI サーバに頻繁にリクエストを送信することになる。リクエストによるアクセスが増えることで，WebAPI サーバの負荷につながる。そこ
で，拡張機能のソフトウェア内で図 8 に示すようにア
図 9 更新拒否の例
クセス時刻を取得し，再アクセス時の現在時刻と比較することで，更新間隔によるアクセス制限を行う。こ
れにより，WebAPI サーバへの負荷を軽減する。また， 2.2.5 ビッグデータを活用したプログラミング環境
更新間隔内にアクセスする場合，図 9 に示すようにロの活用例
グに「Reject」や「Same」と記録され，前回のアクセ開発したプログラミング教材の「書籍：キーワード」
ス成功時のデータをキャッシュに残す。の拡張機能を使用して書籍データを収集及び，活用してプログラミングを行い，図 10 に示すキーワードに対する書籍を紹介するコンテンツを作成した。
コンテンツを動作させると，キーワードに対する書籍情報を出力し動作することが確認できた。このことから，本教材は，Scratch3.0 のプログラミング環境を用いて，学習者が多様なビッグデータ活用し，実生活（a）開発環境のプログラムに役立つコンテンツを構築可能な教材であると考える。

Y<

図7cC

0（b）フローチャート<<WebAPI<Cサーバの負荷になるプログラム例
AAAC

C0 =

AAAFeakSC=W

ak（a）ユーザーインターフェイス

C0 =F<C R
J,

1C

RCC N
CA

O<<STCif,+<COI hj

W

akd

RifCA

（b）開発環境のプログラム
図 10 書籍を紹介するコンテンツ

P
図 8 L 更新制限のアルゴリズム(5)廣瀬 泰弘・福岡 大輔・大羽 淳也

3．授業実践による評価結果
2019 年 12 月に，岐阜県内私立中学校第 2 学年 74 名を対象に授業実践及び調査を実施した。図 11 は授業実
践の様子を示す。環境として，ノートパソコンを各自使用しコンテンツの制作を行う。事前に，2〜3 人グループを形成しておきグループ討議を行える環境で授業実践を実施した。
授業内容に関しては，平成 29 年度告示学習指導要領（2）ネットワークを利用した双方向性のあるコンテ
ンツのプログラミングによる問題の解決での実施を想定した図 12 のカリキュラムモデルに順い，授業実践を実施した。全 7 時間実施し，「誰かのための〇〇アプリを作ろう」という題材を貫く課題に対して，授業を展開した。①ネットワークの原理・法則では，第 1 段
階（知識・技能）を重視し，ネットワークの構成，IPアドレス，サーバの働きなどを学習する。②天気予報
お知らせアプリの開発では，第 2 段階（思考力・判断力・表現力）を重視し，ネットワーク上の天気情報を収集及び，分析し，天気情報を知らせるコンテンツの制作を行う。また，ユーザーを想定し，より良いコンテンツとするための改善を行う。③ネットワーク上のデータを利用したコンテンツの開発では，第 2，第 3 段
階（学びに向かう力・人間性）を重視し，生活の中の問題を発見し，ネットワーク上のデータの収集，分析及び，活用したコンテンツにより問題の解決を行う学習活動を行う。

（a）グループ討議の様子（b）グループで制作する様子

22
7（c）料理のカロリー計算3331533

I31I33IP
3113153

I3I3

図 12 カリキュラムモデル（d）バーコードリーダーを使った ISBN 検索
図 11 授業実践の様子(6)ビッグデータを利用するプログラミング教材の提案

3.1 質問紙調査結果
各質問項目における回答の割合を図 13 に示す。全ての質問項目に関して，中間値 3 を上回る値を示していることが分かる。また，各要因における得点平均は，成就感・達成感への期待は 4.10，知的好奇心は 4.19，操作・活動への期待は 3.96，学習の意義・理解は 3.86である。したがって，学習意欲の因子の知的好奇心による要因が高いことが分かる。

授業終了時に実施した質問紙調査（5 件法，回答数69）の分析及び，学習者作品の分析から，教材の教育的有効性を評価する。質問紙調査では，森山 7)が作成した学習意欲尺度「成就感・達成感への期待」，「知的好奇心」，「操作・活動への期待」，「学習の意義・理解」の 4 つの因子に関する質問項目を利用する。
各因子に対する質問項目を表 3 に示す。学習者作品の分析では，授業用プリントの記述内容及び，制作した作品を対象にデータ活用の度合い及び，問題解決意識の分析を行う。

3.2 作品の分析結果
学習者が作成したコンテンツの例として，開花状況お知らせアプリを図 14 に示す。
制作した学習者は毎年行く桜の花見で今何分咲きか事前に確認しておきたいと言う問題意識を持った。そこで，温度情報をもとに開花状態を予測し，お知らせするコンテンツを作成することで解決しようとした。
岐阜県内 3 カ所の黄色いボタンをクリックすることで，気温情報から開花状態を予測する。満開であれば満開の花を表示し，5 分咲きであれば 2 輪の花を，1 分咲きであれば 1 輪の花を表示することで開花状況を伝える。

表 3 学習意欲尺度の質問
h1ha4 25754242486:

4Q24::

32348r55342c4 2

t:
4:
2S

4Q8

34.8

Q7

33.3

6 84

Q6

424Q32:

34.8

30.4

30.4

Q5

23.2

21.7

40.6

Q4

39.1

40.6

Q3

36.2

50.7

Q2

26.1

42.0

Q1

36.2

37.7

0.0

50.0

172







4.3930)

17.4

5.8

930

%

1.4 930%(

26.1

1.4 930

23.2

2.9930100.0



図 13 質問紙調査の結果

(7)

(

1.4.

930

18.8

21.7

30.4930 )

10.1

18.8

37.7

930

2.9





()

廣瀬 泰弘・福岡 大輔・大羽 淳也

5．おわりに
本研究では，ビッグデータを利用したプログラミング教材の開発を行い，中学校技術・家庭科（技術分野）における授業実践を実施し，その教育的有効性の検証を実施した。実際に，ビッグデータを分析，選択，活用し，問題解決のためのコンテンツの制作を提案教材を用いて，中学校技術の中で取り入れることにより，学習者はネットワーク上のデータを活用したコンテンツの作成が容易になる可能性が示された。また，問題解決活動に取り組む，学習意欲の向上に対して有効性が示された。
今後は，さらに多様なデータを利用可能にするための教材の開発及び授業実践が必要であると考える。

図 14 開花情報お知らせコンテンツ

4．考察
質問紙調査の結果において，全ての質問項目に対して中間値より高い値を示していることから，学習意欲の向上に提案学習方法の有効性が示唆された。
その中でも，知的好奇心の要因が学習意欲の因子の中で最も高い値を示した。この背景を，作品の分析結果から考えると提案教材により，より実用性の高いコンテンツを作成できたためだと推察する。ゲームなどのコンテンツの制作だけでなく，実社会のデータを収集，分析，活用しコンテンツを制作できたことが，制作の可能性を広げ，知的好奇心からの学習意欲の向上に影響を与えたと考える。
また，作品の分析結果から，身近な問題に対して，ネットワーク上のデータを活用して解決しようとする姿勢が観察される。したがって，提案学習方法により学習者が主体的に問題解決活動に取り組める可能性が示唆される。開花情報お知らせコンテンの学習者の事
例では，「花見で事前に開花状態を知りたい」という日常の問題に目を向けることで，気温データを収集，

参考文献
1)
2)
3)
4)
5)

6)

経済産業省：新産業構造ビジョン概要，経済産業省， pp.1-4 (2019)文部科学省：高等学校学習指導要領解説 情報，開隆堂，pp.30-40(2018)
文部科学省：小学校学習指導要領解説 総則，東洋館出版社，pp.83-84 (2017)
文部科学省：中学校学習指導要領解説 技術・家庭科編，開隆堂，pp.58-60(2017)
長井映雄・菊池章：高等学校「情報Ⅰ」に対応したビッグデータ分析授業の検討，日本産業技術教
育学会情報分科会，pp.43-46 (2019)
MIT メディアラボ：拡張機能，https://ja.scratch-wiki.info/wiki/拡張 機能_(3.0) （最終アクセス日：2019 年 12 月 21 日）

分析し，開花状態と関連付けコンテンツの作成に取り組んでいる。このような問題の発見及び，解決活動を7)学習の中で取り入れることが，提案学習方法では可能になると考える。

森山潤：技術科教育における生徒の学習意欲の分析に基づく授業改善の試み，京都教育大学教育実
践研究年報，第 11 号，pp.229-243 (1995)

以上から，提案するプログラミング教材を用いることにより，学習者はネットワーク上のデータを活用したコンテンツの作成が容易になる。それにより，問題解決活動に取り組む，学習意欲の向上が期待できると考える。

(8)