E4-2

経済データ分析のためのプログラミング教材開発
Development of Teaching Materials of Computer Programming
for the Economic Data Analysis
吉根 勝美*1
Katsumi YOSHINE*1*1
南山大学経済学部*1
Faculty of Economics, Nanzan University
Email: kyoshine@nanzan-u.ac.jp
あらまし：昨今，プログラミング教育は子供の習い事として関心が向かいがちだが，文系の大学生には，表計算ソフトに代わるツールとして，ひいてはプログラミング独特の思考法を学ぶ機会として有用であろう。筆者は，データ分析初学者の経済学部生を対象にして，ウェブベースの JavaScript プログラミング環境を構築した．
本稿では，経済データ分析の学習のために開発したプログラミング教材について報告する．
教材の特徴は，実際のデータや文章を必ず引用していることである．授業の一例も紹介する．
キーワード：JavaScript，プログラミング教育，高等教育，初年次教育，統計教育

1.

はじめに昨今，プログラミング教育の重要性がうたわれている．本年（2016 年）5 月，ある経済週刊誌は，専門教育としてではなく，子供や一般の社会人を対象としたプログラミング教育への関心の高まっている様子を特集した(1)．また，4 月 19 日開催の産業競争力会議（第 26 回）で，文部科学大臣が「初等中等教育では、情報活用能力の育成・教育環境の整備を行う。特に発達の段階に即したプログラミング教育の必修化を図る」と表明し(2)，小中学校で 2020 年度から段階的に必修にする方針を固めている．
一方，経済学部生を対象として筆者が担当する選択科目「データ解析」では，表計算ソフトウェアによる授業の代替案として，プログラミングを導入している．ただし，受講者の大半がプログラミング未経験者であることから，プログラムの記述から実行までを簡便に行えるように，ウェブベースのJavaScript プログラミング環境を開発した(3)．
本稿では，経済学部生が経済データ分析の考え方を学ぶことを目的とする授業において，プログラムを作成しながらデータ分析の手法を学ぶために開発した教材について報告する．

2.

プログラミング環境

図 1 に，本授業で使用するプログラミング環境を示す．できるだけ特別の準備をしないでプログラミングが体験できるようにするため，Internet Explorerなどのウェブブラウザに実装されている JavaScript言語を採用した．また，HTML 文書のテキストファイルを作成する手順を省いて，ブラウザにプログラムを書き込んで，特定のボタンをクリックすると，同じブラウザ内に実行結果が表示されるようにした．
なお，(3)で報告したものを簡略化している．
プ ログラ ムの 実行結 果は， 原則 として ， <preid="text"></pre>の部分に整形済みテキストとして出力させることとした．学習者にはこうしたことを意識しなくとも実行結果を画面に表示できるようにするため，p("イ：",(c1-c2)/31*12,"\n");のようにと記述すれば表示できるようにした。

図 1 プログラミング環境の画面

3.

プログラミングの基礎を学ぶための教材

本授業の受講者は表計算ソフトウェアの利用経験はあるが，プログラミングの経験はほとんどない．
そこで，まず次の 4 項目をプログラミングの基礎として学ぶこととした．
・変数の利用・サブルーチン・条件分岐
・配列変数と反復処理教材開発にあたり，実際のデータや文章を必ず引用することを方針とした．本稿では，変数の利用を学ぶための教材を紹介する．
実際のデータや文章は 2016 年版中小企業白書(4)から引用した（図 2）．文中の数値を計算するプログ
ラムでは，セル番地を連想させる変数名を使用した（図 1）．受講者は，提示された未完成のプログラムを補完させる過程で変数の使い方を学ぶ．

― 309 ―

教育システム情報学会 JSiSE2016
第41回全国大会 2016/8/29-8/31

中小企業数の推移を見てみると、長期にわたり減少傾向にある（第 1-2-1 図）。足下の 2012 年から 2014 年にかけての推移についても、2 年間で【ア】万者の減少となったが、2009 年 7 月から 2012 年 2 月にかけて、年平均で▲【イ】万者であったのに対し、2012 年 2 月から2014 年 7 月にかけては年平均で▲【ウ】万者と、減少のペースは緩やかとなった。
規模別に見ると、2012 年から 2014 年の 2 年間で、小規模企業の数は【エ】万者減少しているものの、中規模企業の数は逆に【オ】万者増加しており、合計で約〔ア〕万者の減少となった。
(注)1.企業数＝会社数＋個人事業者数とする。

図 2 教材のもととなった白書の文章

4.

経済データ処理を学ぶための教材

プログラムを作成するための最低限の基礎知識を学んだら，本来の目的である経済データ分析の考え方を学ぶ授業に移る．データ分析のテーマとしては以下の 7 項目を挙げている．本稿では，相関係数を学ぶための教材を紹介する．
・基本統計量・度数分布表・順序統計量・時系列データの分析 ・横断面データの分析
・相関係数
・移動平均
実際のデータは小売物価統計調査（動向編）から，主要品目の小売価格（13 都市・37 品目）(5)から引用した．図 3 では 3 品目だけ示したが，実際の教材では 20 品目について，品目ごとに 13 都市での小売価格が配列変数に代入されたプログラムが提示される．
相関係数の考え方を学ぶには，まずデータを散布図で確認することが必須である．そこで，2 つの配列変数を引数に渡すと散布図を描画する機能を，オープンソースの JavaScript ライブラリ Chart.js を用いて開発した．scatter(cabbage,radishes);のように記述すれば散布図が描画される（図 3）．
本授業は，経済データ分析の考え方を学ぶことが目的であるから，あえて相関係数の定義などの説明には進まずに，さまざまな品目の組合せで散布図を観察しながら，データ間の関係をどのように計量すればよいかを考えてもらう．
実際の授業では，受講者に「散布図をよく観察し図 3 散布図を描いた例て相関を定量化するアイデアを出しなさい」と指示し，WebClass に回答を書き込ませた．当日の授業の出席者 41 名中，23 名からのべ 35 通りの回答があった．図 4 に回答の一例を示す．
担当者は，受講者から出たアイデアからいくつか選んで，プログラミングのヒントを受講者に与えたり，実際にプログラムを書いて提示したりする．このような形式で授業を行うことにより，相関係数の定義を理解し表計算ソフトウェアで計算できる程度を超えて，データ間の関係を計量する手法を自ら考えるという学ぶ方が可能になる．
・第何象限に点が集まっているかで相関の正負を考える。
・全ての値の中央値を調べ、原点から直線を引く。
・２つのデータの集合をそれぞれ小さい順にならべて、その都道府県の順番が同じほど正の相関関係があり、逆なほど負の相関関係がある。
・二つの点で作った直線の傾きをそれぞれ計算し傾きの平均をだす。その答えが正か負の数かで判断する。

図 4 相関を計量するアイデアの回答例

5.

まとめ

本稿では，経済学部生が経済データ分析の考え方を学ぶ授業で使用するプログラミング教材の開発について報告した．開発した教材の特徴は，実際のデータや文章を必ず引用していることである．
表計算ソフトウェアや統計ソフトウェアをツールとして使うと，既成のデータ分析手法を適用しがちになるのに対し，プログラミングならば，自分なりに考え出した分析手法を実現しやすい．コンピュテーショナル・シンキング (6)と呼ばれる問題解決法にも通じるところがある．プログラミングには，経済データ分析の考え方に対する学習をより深くさせる可能性がある．ただし，最低限のプログラミングはできることが前提となるので，これを限られた時間で達成する方策を別途考えなければならない．
参考文献(1) 東洋経済新報社：“今すぐ始めるプログラミング”，週刊東洋経済，2016 年 5 月 21 日号，pp.30-79（2016）(2) 日本経済再生総合事務局：“第 26 回産業競争力会議議事要旨”，http://www.kantei.go.jp/jp/singi/keizaisaisei/skkkaigi/dai26/gijiyoushi.pdf，p.3（2016）(3) 吉根勝美：“プログラミングによる経済データ分析実習の試み”，第 40 回教育システム情報学会講演論文集，pp. 51-52（2015）(4) 中小企業庁：“中小企業数の推移”，2016 年版中小企業白書，http://www.chusho.meti.go.jp/pamflet/hakusyo/
H28/PDF/chusho/03Hakusyo_part1_chap2_web.pdf，p.24（2016）(5) 総務省統計局：“主要品目の小売価格（13 都市・37品目）”，小売物価統計調査（動向編）（平成 28 年 4月），http://www.e-stat.go.jp/SG1/estat/List.do?lid=000001153180（2016）(6) 磯辺秀司，小泉英介，静谷啓樹，早川美徳：“コンピュテーショナル・シンキング”，共立出版（2016）― 310 ―