A1-3

プログラミングによる経済データ分析実習の試み
Trial of Economic Data Analysis Exercises in Programming
吉根 勝美
Katsumi YOSHINE
南山大学経済学部
Faculty of Economics, Nanzan University
Email: kyoshine@nanzan-u.ac.jp
あらまし：経済学部生対象の表計算ソフトによるデータ分析実習の代替案として，JavaScript プログラミ
ングによる実習を提案する．
開発したプログラミング環境はウェブベースで，唯一つのファイルからなる．
例題として，表計算ソフトから連想しやすいプログラムを書く問題を用意した．さらに，SVG(ScalableVector Graphics)によるグラフィックス機能を付加し，グラフを描くプログラミングも可能にした．
キーワード：プログラミング教育，高等教育，統計教育

1.

はじめに

本稿では，経済学部生を対象にしたデータ分析実
習の授業で利用するために開発したプログラミング環境と，作成した教材について報告する．プログラ
ミング環境はインストール不要で，できるだけ費用がかからないことを開発方針とした．また，教材となる例題用のプログラムは，表計算ソフトによるデータ分析手法の既習者にとって，できるだけなじみやすいコーディングとすることを作成方針とした．
本研究で対象となる授業は，初年度に表計算ソフトによる経済データ処理を学んだ学部２年次以上の学生に対し，データ処理の過程をプログラミングに置き換えることで，データ分析の手法を別の角度から学ぶとともに，プログラミング自体を体験することを目的とする授業である．次章では，当該授業で使用するために開発したプログラミング環境について，３章では作成した教材について述べる．

2.

ードしたファイルをダブルクリックするだけで，図1 の環境を利用することができる．
教員は，必要に応じてプログラムの例題を提示することができる．図 1 を実現するテキストファイルの後半にプログラム例を追記することができる．例
題毎に[プログラム転送]あるいは[プログラム追加]ボタンを設定し，プログラム入力欄に，例題プログラムを転送あるいは追記できる機能を用意した．

プログラミング環境

2.1 単一ファイルからなるプログラミング環境
図 1 は，本研究で開発したプログラミング環境である．新規負担が発生しないように，Internet Explorerなどのウェブブラウザに実装されている JavaScript言語を採用した．画面左側のプログラム入力欄にプログラムを入力し，（必要なら所定欄にタイトルも入力し，）[実行]ボタンをクリックすると，画面右側に実行結果が表示される．この仕組みは，W3Schools(1)，jsdo.it(2)等に見られる手法である．入力されたタイト
ルは，HTML 文書の H1 要素として，入力したプログラムの実行結果は PRE 要素内に出力される．
図 1 を実現しているのは，単一のテキストファイ
ルである．実際の授業での使い方は次の通りである．
各回の授業に先立って，例題となるプログラムを前述のテキストファイルに書き加えて，授業用のファイルサーバにアップロードしておく．学生は各自が所有する USB メモリにファイルをダウンロードする．拡張子を html にしているので，学生はダウンロ

図 1 プログラミング環境
2.2 グラフィックス機能の付加
図 1 の環境でグラフ作成のプログラミングを体験できるようグラフィックス機能を付加するため，SVG(Scalable Vector Graphics)(3)を採用し，その操作にオープンソースの JavaScript ライブラリ snap.svg(4)を利用した．学生は，USB メモリにダウンロードした同じフォルダに，１個のライブラリファイルをコピーすればグラフィックス機能が利用できる．

3.

教材となる例題プログラム

3.1 表計算ソフトをなぞった例題プログラム
図 2 は，5 年毎の男女別大卒初任給(5)（単位：千円）が 5 年前に比べて何％伸びたかを表計算ソフトで求めた様子である．

― 51 ―

教育システム情報学会 JSiSE2015
第 40 回全国大会 2015/9/1～9/3

図 2 表計算ソフトでのデータ分析例
表計算ソフトでの手順をできるだけ再現するように，次のようなプログラムを教材として作成した．
var a=[], b=[], c=[];var k;a[2]="1980 年";a[3]="1985 年";a[4]="1990 年";
a[5]="1995 年";a[6]="2000 年";a[7]="2005 年";
a[8]="2010 年";//大卒初任給・男（千円）
b[2]=114.5;b[3]=140;b[4]=169.9;b[5]=194.2;
b[6]=196.9;b[7]=196.7;b[8]=200.3;//大卒初任給・女（千円）
c[2]=108.7;c[3]=133.5;c[4]=162.9;c[5]=184;
c[6]=187.4;c[7]=189.3;c[8]=193.5;
for (k=2;k<=8;k++) {document.write(a[k]);document.write(" ");document.write(b[k]);document.write(" ");document.write(c[k]);document.write("¥n");}var d=[], e=[];d[3]=(b[3]-b[2])/b[2]*100;
d[4]=(b[4]-b[3])/b[3]*100;
d[5]=(b[5]-b[4])/b[4]*100;
d[6]=(b[6]-b[5])/b[5]*100;
d[7]=(b[7]-b[6])/b[6]*100;
d[8]=(b[8]-b[7])/b[7]*100;
for (k=3;k<=8;k++) {document.write(a[k]);document.write(" ");document.write(d[k].toFixed(1));
document.write("¥n");}ただし，このまま実行すると図 1 のようになる．
学生には，伸び率の計算を反復処理に書き直させたり，女性について同様の計算をして表示させたりす
るような課題を与える．
3.2 グラフ作成のための例題プログラム
図 3 は，全国 13 都市における 2 商品の小売価格(6)の関係を表計算ソフトで図示した様子である．

図 3 表計算ソフトでの作図例

表計算ソフトでのグラフ作成をプログラミングで体験させるため，簡単な散布図を描くプログラムを教材として作成した．なお，本環境では，描画範囲を(0,0)～(1000,1000)とし，左下を原点としている．
var x=[267,230,265,272,240,273,258,271,264,261,242,269,214];
var y=[495,481,507,488,520,528,514,496,472,476,502,539,535];
var k;
var n=13;
var paper=Snap("#svg");
paper.line(0,0,1000,0);paper.line(0,0,0,1000);for (k=0;k<n;k++) {paper.circle((x[k]-200)*10,y[k],10);}
ただし，このまま実行すると図 4 のようになってしまう．学生には，描画する円の中心の x 座標の書き方をヒントに，y 座標の書き直し方を考えさせる．

図 4 修正が必要なプログラムの実行結果

4.

まとめ

本研究では，ウェブベースの JavaScript プログラミング環境を開発し，表計算ソフトによるデータ分析を既に学んでいることを前提として，教材となるプログラム例を作成した．また，ライブラリ snap.svgを使って，グラフィックス機能も利用可能にした．
このプログラミング環境は単一のファイル（と１個のライブラリファイル）で構成されており，受講者はファイルを手元にコピーするだけで利用できる．
今回開発した環境(7)には必要最小限の機能しか有しておらず，自分で作成したプログラムを保存するのに，コピー＆ペーストをさせており，今後の改善が必要な点である．
参考文献(1) “W3Schools”, http://www.w3schools.com/(2) 株式会社カヤック:“jsdo.it”, http://jsdo.it/ （2010）(3) World Wide Web Consortium:“Scalable Vector Graphics(SVG)”, http://www.w3.org/Graphics/SVG/(4) ア ド ビ シ ス テ ム ズ 株 式 会 社 : “ Snap.svg ” ,http://snapsvg.io/ （2013）(5) 厚生労働省:“賃金構造基本統計調査結果（初任給）”(6) 総務省統計局:“小売物価統計調査（動向編）”(7) 吉根勝美:“経済データ分析を学ぶことを目的としたウェブベースのプログラミング環境”, 電子情報通信
学 会 技 術 研 究 報 告 , Vol. 115, No. 74, ET2015-14,
pp.19-24 （2015）― 52 ―