情報処理学会研究報告
IPSJ SIG Technical Report「高等学校情報科『情報 I』教員研修用教材」第 3 章へのPyPEN の適用
中西 渉1,a)

概要：文部科学省「高等学校情報科『情報 I』教員研修用教材」の第 3 章「コンピュータとプログラミン
グ」は Python 版がまず発行され，他言語版も順次発行される予定とのことである．本研究では，筆者が開発しているプログラミング学習環境 PyPEN でこの教材の各学習を実行できるかを検証し，既に発行されている JavaScript 版，VBA 版と比較した．また，必要に応じて若干の追加開発を行った．

1. はじめに2022 年度から実施される高等学校学習指導要領の情報科
では「情報 I」が選択でない必履修科目となり，高校生の

2. 先行研究2.1 Web 上のプログラミング学習環境
Web 上のプログラミング学習環境にはさまざまなものが

ほぼ全員が情報科でプログラミングを学習することになっあり，DNCL に限っても WaPEN[4]，Bit Arrow の DNCL

た．どのような環境で実習を行うかということが関係教員（どんくり）[5]，Tetra[6]，BlocklyPEN，wPEN[7] などがの間で話題になる中，人工知能やデータサイエンスが注目ある．一方，Bit Arrow では Python の実行も可能になっされていることや，文部科学省から発行された「高等学校ており [8]，ライブラリを使うためにサーバ上での実行もサ

情報科『情報 I』教員研修用教材」[1]（以下では「教材」とポートするなどの工夫がなされている．

表記する）で最初に取り上げられたことなどから，Python

オンラインで多くの言語のプログラミングを学習できに注目が集まっている．「教材」では他の言語版も順次発るサイトも paiza.io[9] をはじめ，さまざまなものがある．

行するということではあるが，筆頭に取り上げられたこと

track[10] は複数言語に対応しやすいプラットフォームであにはインパクトがあった．

るとのことだが，企業での研修等を対象にしており，一般

筆者はこれまで大学入試センター試験で用いられてきに公開しているものではない様子である．Wandbox[11] はた DNCL という言語を元にしたプログラミング学習環境

サイト上でプログラミングができる他，ソースや Docker

PEN を元に PenFlowchart や WaPEN を開発してきたが，イメージも配布されているのだが，筆者の手元で環境構築

上述した流れを受けて DNCL を Python 風にアレンジしたがまだできていないので細かい検証はしていない．

プログラミング学習環境 PyPEN を開発しているところである [2]．

2.2 プログラミング学習環境における統計機能

予告通り「教材」のプログラミングに対応する第 3 章につドリトルは言語を拡張して，統計・グラフ機能を付加す

いて JavaScript 版や VBA 版も公開されたが [3]，Python

る実装が行われた [12]．ファイルから読み込んだテーブル

版のプログラム部分だけを差し替えているので対応しきれ

オブジェクトに対して操作を行い，統計量を計算したり何ていない学習内容がいくつかある．これが完全でなくてい種類ものグラフが簡単な命令で書けるようになっている．

いのであれば PyPEN でもそれなりに実習の役に立つので統計ではある程度多くの数値を扱いたいので，外部ファはないかと考え，比較検討を行うことにした．

イルを読み込めるようにしたい．ブラウザ上の JavaScript

本稿では第 2 章で関連する先行研究，第 3 章で PyPEN

でローカルファイルを読み出すことには制限があるのだが，について述べた後，第 4 章で「教材」への PyPEN や他言

オンライン版のドリトルでは Web ストレージ上にファイ語の対応について評価し，第 5 章で考察する．

ルを置くことでデータの読み込みを実現している [13]．

1a)名古屋高等学校
Nagoya Senior High School
watayan@meigaku.ac.jp

c 1959 Information Processing Society of Japan⃝1

情報処理学会研究報告
IPSJ SIG Technical Report
表 1

PyPEN

PyPEN と DNCL の違い
DNCL

もし〜ならば：もし〜ならば命令｜命令

そうでなければ：

を実行し，そうでなければ

命令

｜命令
を実行する

〜の間繰り返す：

〜の間，

命令
図 1

｜命令

PyPEN の実行画面

を繰り返す

表 2

2.3 「教材」に関する検討
兼宗 [14] は「教材」第 3 章の学習 11〜17 について，収録を予定されている各言語が対応しているかについて述べ，

関数

関数・手続きの定義

関数名 (引数,...)
命令

手続き 手続き名 (引数,...)
命令

〜を返す

言語によっては外部ライブラリを使わなくてはいけないことに触れている（特にグラフィック，Web API など）．一方で岡本ら [15] は「教材」がまだ Python 版しか公開され3.2 Python「風」言語ていなかったときに，各学習の多くが JavaScript でも実現

Python 風といっても，似ているのは構文の表現方法なできることを Monaca や Node.js を用いて検証した．さらど一部に過ぎない．分岐やループにおいて，実行する命令にライブラリに関する先の指摘に対して，Python でもグのグループをインデント（基本はスペース 4 個）で表現す

ラフィック表示は matplotlib を用いているのだから同様

る．また，インデントの前の行末には「：」が置かれる．

ではないかと疑問を呈している．

こういった点ではむしろ「なでしこ」[16] に近い表現と言3. PyPEN について
3.1 概要えるかも知れない．PyPEN と DNCL での分岐・ループの表現の違いを表 1 に示す．
また変数の定義を廃止し，変数は型を持たず，代入した

PyPEN は Web ブラウザ上で動作するプログラミング学

ときに生成されるようにした．値自体は整数，実数，文字

習環境で，言語は大学入試センター試験「情報関係基礎」

列，真偽の型を持つので，「a に整数を入力する」というよで使われている DNCL を Python 風にアレンジした独自

うに入力命令に型の指定を追加した．配列の添字には 0 か言語である．またコードをフローチャートに表したり，フら始まる自然数だけでなく文字列を使えるようにした．こローチャートを作ることでコードを生成することもできる

れで連想配列のような扱いができる．

（現状ではフローチャートは自作関数や自作手続きには対関数・手続きは表 2 のように定義する．関数は命令や計応していない）．JavaScript だけで作られているので，Web算の中で使われて値を返すものであり，手続きはそれ自体サーバには特別な設定は必要ない．

が命令となる．Python ではこういった区別はないし，前Google chrome での動作画面を図 1 に示す．左側のテキストエリアにコードを入力し，「実行」ボタンで実行すると述したどんくりや Tetra では関数で統一しているようであるが，PyPEN では実装上の都合で区別している．

結果が中央のテキストエリアに表示される．「コード→フローチャート」ボタンでコードをフローチャートに変換で3.3 サンプルプログラム呼び出しボタン

きるし，フローチャートを編集すれば即座にコードに反映

図 1 のサンプルボタンを押すと，予め用意したサンプルされる．下側の「入力支援ボタン」を使うことで構文の雛プログラムが入力される．そのサンプルは sample.js と形が入力されるので，少ないキー入力でプログラムを作るいうファイルにデータとして書かれており，これを書き換ことができる．

えることで自分の授業に合わせたものに差し替えることが

変数表示画面はないが，「変数を確認する」という命令できる．

でスコープ内の変数をすべて表示するようにした．また，とはいえ，この書き換えを手作業で行うのは実際にはパーサが出力する構文エラー位置の表示が日本語に対応しかなり面倒であるため，サンプルプログラム 1 つ 1 つをておらず読みにくかったので，Jison で生成したパーサにファイルに保存しておいて，それらを集めて sample.js

パッチを当てて日本語でエラー表示するようにしている．

を生成するプログラム MakeSample を開発した [17]．これ

c 1959 Information Processing Society of Japan⃝2

情報処理学会研究報告
IPSJ SIG Technical Report

図 2

MakeSample の実行画面
図 4

Python のコードを出力した様子

図 5

グラフ描画の例

3.6 簡単なグラフ作図
図 3

自動採点の様子

PyPEN にはグラフィック命令があるので，それを使って折れ線や四角形を描けばグラフ表示もできるのだが，そは WaPEN でも共通して使えるものであり，多くの OS でのためのプログラムを書かなくてはいけないのは面倒であ使えるように Qt[18] を用いて作ったのだが，「WaPEN やる．そこで，配列をそのまま棒グラフや折れ線グラフにす

PyPEN 自体が Web アプリケーションなのだから，これらる機能を追加した．実行例を図 5 に示す．今のところ棒グのツールもブラウザ上で使えるようにするといいのではな

ラフは 1 次元配列，折れ線グラフは 2 次元配列を引数にといか」との助言をいただいているので，今後はその方向にるものとしているが，これはいずれ統一してどちらでもい転換する予定である．実行画面を図 2 に示す．

いようにする予定である．

3.4 自動採点

4. 「教員研修用教材」への対応

問題を選択して表示し，いくつかのテストケースを入力「教材」で取り上げられている各学習のプログラムにつして結果が予期したものであるかを自動的に判定する機能

いて，Python，JavaScript，VBA でのサンプルコードがを追加した．テストケースは answer.js というファイル

掲載されているか，また PyPEN でそれを再現できるかをにデータとして書かれるので，これもサンプルプログラム

表 10 にまとめた．以下，主に PyPEN での対応状況を述と同様に MakeAnswer というプログラムで生成できるようべる．

にしている．判定画面を図 3 に示す．

4.1 学習 11
3.5 Python コードの出力

コンピュータの仕組み

学習 11 ではオーバーフローと小数計算の誤差を扱って

PyPEN の言語は Python に直訳しやすく作ったのではいる．JavaScript でこれらが実現可能であることは [15] であるが，もちろん Python そのものではない．そこで「コー述べられているが，PyPEN では少し事情が違ってくる．

ド→ Python」ボタンを押すと別窓を開いて Python のコー

たとえば JavaScript では有限の範囲で扱えない大きい値

ドを出力するという機能を追加した（図 4）．出力された（たとえば 1.8 × 10308 ）を変数に代入しても Infinity とし

コードはそのまま Python で実行できるものである．グラて扱われるだけでエラーにはならないのだが，PyPEN でフィック命令には対応していないが，乱数や数学関数のは構文解析のときに数値に変換するので，その時点で構文ようにモジュールを必要とするものについてはそれらをエラーとなってしまって実行できなくなる（表 3）．そのimport する命令も出力される．

ため表 4 のようなコードで確認することになるであろう．

c 1959 Information Processing Society of Japan⃝3

情報処理学会研究報告
IPSJ SIG Technical Report
表 3
コード

大きすぎる数をコードに書いた時の振る舞い
実行結果

x ← 1.8e308

1 行目構文エラーです

x を表示する

オーバーフローしました

表 4
コード

オーバーフローのプログラム
実行結果

x ← 1.7e308

1.7e+308

x を表示する

実行時エラーですx+0.1e308 を表示する

3 行目:オーバーフローしました

表 5
コード

表 6 預金の複利計算のプログラム
riritsu ← 0.05
yokin ← [100000]
i を 1 から 10 まで 1 ずつ増やしながら繰り返す：
risoku ←整数 (yokin[i-1]*riritsu)
yokin[i] ← yokin[i-1]+risoku
yokin を表示する
線グラフ描画 (200,200,[yokin])

整数オーバーフローのプログラム
実行結果

x ← pow(2,52)-1+pow(2,52)

9007199254740991

x を表示する

実行時エラーです

x+1 を表示する

3 行目:整数で表される範囲を

図 6

預金の複利計算のグラフ

越えました

したサイトと同じサイトの API にならアクセスすること
また PyPEN では値を整数と実数で区別して扱っているので，表 5 のように整数で扱える ±(253 − 1) を境にして実行エラーを起こすことができる*1 ．
なお，計算誤差の例として 0.28 − 0.27 を表示すると 0.01
でなく 0.010000000000000009 のようになることは PyPEN
でも容易に確認できる．勤務校の授業では 0.1*2=0.2 と

0.1*3=0.3 の真偽が異なることを例にとって説明している．
4.2 学習 12外部装置との接続

学習 12 では外部装置の例として micro:bit が取り上げられているが，PyPEN はこれにはまったく対応していない
し，他の機器についても対応する方法が思いつかない．

4.3 学習 13

基本的プログラム学習 13 は「順次」「分岐」「反復」とその組み合わせであるが，これは基本的なものなので問題ない．

4.4 学習 14

応用的プログラム学習 14 では「配列・リスト」
「乱数」
「関数」
「Web API」が扱われている．これらのうち Web API 以外の 3 つについては基本的なものなので問題ない．

PyPEN では Web API へのアクセスは実装されていな
い．そもそも [15] で指摘されているように，ブラウザ上のJavaScript で実装されている PyPEN では CORS の制限があるので，外部の Web API を利用することは難しいと考えられる [19]．同じオリジン，たとえば PyPEN を設置*1

pow(x,y) は x の y 乗を計算する関数で，x が整数かつ y が非負整数のときは整数型の値を返すので，pow(2,53) と書くとオーバーフローしてしまう．

c 1959 Information Processing Society of Japan⃝は可能であるが，公開されている外部の情報にアクセスするのでないと API を使う意義が薄れてしまう．
ところで「教材」の Python 版は JSON 形式で結果を返す API を使用しているが，VBA 版では CSV で返すもの
を用いている．VBA で JSON を解釈する方法はないわけではないようだが，64bit 版の Excel では VBA–JSON な
ど外部ライブラリが必要になるようなので，このようにすることも仕方ないと思われる．

4.5 学習 15

アルゴリズムの比較

学習 15 では探索やソートのアルゴリズムが扱われているが，これも基本的なものなので問題ない．

4.6 学習 16

確定モデルと確率モデル

学習 16 はいろいろなシミュレーションを扱っている．
計算はどの環境でもできるが，グラフでの表現については

JavaScript では難しいとして「教材」では扱われていない．
しかし JavaScript でも plotly.js などを使うことでグラフの作成が容易にできることは [15] に述べられている通りである（学習 17 に関しても同様）．

PyPEN ではもともとあったグラフィック命令に加えて，配列を棒グラフや折れ線グラフにする機能を用いれば描画は容易にできる．たとえば預金の複利計算のプログラムは
表 6，実行結果は図 6 になる．
散布図については直に描画しなくてはいけないので，少し面倒になる．たとえばモンテカルロ法で円周率の近似値を求めるプログラムは表 7，実行結果は図 7 になる．

PyPEN のグラフィックでは左上が原点で y 軸が下向きになっているのでこのような表示になっている．

4情報処理学会研究報告
IPSJ SIG Technical Report
表 7 散布図を作成するプログラム
描画領域開く (200,200)
count ← 0
i を 1 から 2000 まで 1 ずつ増やしながら繰り返す：x ← random(200)y ← random(200)
もし x*x+y*y<40000 ならば：count ← count+1
塗色設定 (255,0,0)
そうでなければ：
塗色設定 (0,0,255)
円塗描画 (x,y,1)「円周率：」と count*4/2000 を表示する

図 7

散布図のプログラムの実行結果

表 8 放物運動のプログラム
描画領域開く (100,100)
塗色設定 (255,0,0)
throw(45)
塗色設定 (0,0,255)
throw(60)
塗色設定 (0,255,0)
throw(30)
手続き throw(angle)：dt ← 0.01
g ← 9.8v0 ← 30x←0
y←0angle ← angle*3.1415926535/180
vx ← v0*cos(angle)
vy ← v0*sin(angle)i を 1 から 1000 まで 1 ずつ増やしながら繰り返す：
vy1 ← vy-g*dt
x ← x+vx*dt
y ← y+(vy+vy1)/2*dt
vy ← vy1
円塗描画 (x,100-y,1)
もし y<0 ならば：繰り返しを抜ける

図 8

放物運動の結果

表 9 キー・バリューで扱うプログラム
atani["name"] ←"A 谷"
atani["homephone"] ←"0**-***-1111"
atani["mobilemail"] ←"ata@example.jp"
bkawa["name"] ←"B 川"bkawa["mobilephone"] ←"0**-****-2222"
cyama["name"] ←"C 山"
cyama["mobilephone"] ←"090-****-3333"
cyama["email"] ←"cyama@example.com"
member ← [atani,bkawa,cyama]i を 0 から length(member)-1 まで 1 ずつ増やしながら繰り返す：
key ← keys(member[i])j を 0 から length(key)-1 まで 1 ずつ増やしながら繰り返す：
key[j] と":"と member[i,key[j]] を表示する
改行するて Python でのコードが掲載されているが，これは PyPEN
でもたとえば表 9 のように実現できる．keys は連想配列のキーを並べた配列を返す関数である．
しかしこれについてはそのような構造のデータの入出力ができるということにつなげたいのであるから，Web API
や File I/O を持っていない PyPEN では大した意味を持た
ない．

5. 考察
5.1 Web API に関して
前述したように，PyPEN はブラウザ上の JavaScript のプログラムであるから，Web API を使おうとしても CORSの制限にひっかかってしまう．回避策として考えられるのは Web API をバックエンドで操作するというものだが，それだと「ファイルを Web サーバに置けばそれだけで使える」という PyPEN のメリットを損なうことになる．もっとも，オプションとしてそれを付け加えることはできるかも知れないので，今後検討したい．

Google chrome や Firefox には，指定さえすれば Response
ヘッダに Access-Control-Allow-Origin:"*"を追加できる拡張機能があって，これを使えばオリジンが違ってもWeb API へのアクセスが可能になるのだが，特定ブラウザの特定拡張機能の使用を前提とすることも現実的ではない．

4.7 学習 17

自然現象のモデル化とシミュレーション

学習 17 は自然現象を対象にしている以外は学習 16 と大差ない．たとえば放物運動については表 8，図 8 のようになる．

5.2 File I/O に関して
PyPEN で連想配列的なものを実装したのは，たとえばJSON 形式のデータ構造をそのまま扱えるようにという思惑であった．Web API によってそれが行えないのであれ

4.8 学習 21

さまざまな形式のデータとその表現形式

ば，ファイル読み込みによって実現することが考えられる．

学習 21 ではデータのさまざまな表現形式が紹介されていそのためにはブラウザ上でファイルを読み込む必要がある

る．
「(4) キー・バリュー形式のデータの処理・蓄積」についのだが，ローカルファイルの操作には制限がある．これにc 1959 Information Processing Society of Japan⃝5

情報処理学会研究報告
IPSJ SIG Technical Report

ついても Web ストレージを用いるなどの工夫が必要であ

多くの学校ではその環境で実習を行うことがほぼ確定しろう．

てしまうだろう．「教材」と同じように別言語版の「差分」が発行されれば，利用する側としては選択肢が増えること

5.3 DNCL やフローチャート，Python との関係についてになると期待するのだが，そういうことにはならないだろうか．

PyPEN の言語は DNCL を元にしているとはいうもの

最後に，PyPEN は筆者のサイト*2 および GitHub で配の，いくらか違う部分があるので独自言語と言えなくもな付しているが，更新が容易であるという点で GitHub を推い．たとえば入力も，PEN の xDNCL と違って型を指定奨したい．

することにしている（変数が型情報を持たないため）．そgit clone https://github.com/watayan/PyPEN

もそも元々の DNCL には入力そのものがない．

の実行後，PyPEN フォルダにある拡張子 js-dist のファ

また Python に似せた言語といいつつも，DNCL 由来の

イルを拡張子 js になるようにコピーすればよい．更新は書き方のままになっているところもあるので中途半端であPyPEN フォルダでることは否めない．たとえば割り算の/，//の使い分けは

git pull

Python3 を真似たものになっているが，代入は=でなく←でするだけである．

あり，等値演算子は==でなく=である．これが Python な

勤務校では PyPEN を用いた授業実践が始まりつつある

どを知っている学習者にとってはかえって混乱を生むことので，その結果についても検証を行いたいと考えている．

も考えられる．

授業の準備段階での PyPEN のバグ発見にあたって，多くそのようなことから，xDNCL と違ってセンター試験のの助言をいただいたことについて井上智香子氏に感謝する．

問題が（ほとんど）そのまま入力できるわけでもないのだから，DNCL 系の書き方に必ずしも縛られる必要はない

参考文献のではないかとも考えている．たとえば演算子を完全に[1]

Python にそろえてしまうことも考えられるし，配列に対す
る push/pop に相当するものや for〜in のような拡張 for[2]

文など適切な日本語表現が思いつけば早く実装したいもの
もある．

[3]

一方 DNCL や xDNCL にあるのに今まで実装してこな
かった構文，たとえば「a += 1」「else-if」「switch」に相当するものなどがある．これらについてはフローチャー[4]

トでの表現が難しくなることを理由に実装してこなかったが，逆にそれを制約とも感じている．フローチャートをよ[5]

り充実させてこれらの表現ができるようにするべきなのか，それともフローチャートをある程度あきらめてしまう[6]のか，なかなか決断できないでいる．

6. おわりに[7]「教材」で取り上げられている各学習のプログラムの多
くは PyPEN で実現できることがわかったが，現状できて[8]

いないものについては対応することは難しい．しかし実現すれば有益なものであるとも考えているので，今後の開発において検討を進める予定である．実際，本稿をまとめる[9]

にあたって新たに実装した機能も以下の通りいくつかある．

• 簡単な棒グラフ・折れ線グラフを簡単に描けるように

[10]

した．

• 配列の添字に文字列を使えるようにした．

[11]• 連想配列のキーの配列を取得する関数 keys を実装

[12]

した．
高校現場では教科書にどの言語が取り上げられるかについて興味が集まっており，実際に教科書に掲載されると，

c 1959 Information Processing Society of Japan⃝*2

文部科学省： 高等学校情報科「情報 I」教員研修用教材(2019).
中西 渉： プログラミング学習環境 PyPEN の開発，日本情報科教育学会第 13 回研究会報告書，日本情報科教育学会，pp. 19–22 (2019).
文部科学省： 高等学校情報科「情報 I」教員研修用教材
第 3 章他プログラミング言語版，（オンライン），入手先⟨http://www.mext.go.jp/a menu/shotou/zyouhou/
detail/1421808.htm⟩ （参照 2019-11-25）.
中西 渉： WaPEN. . . DNCL の Web ブラウザ上の実行環境におけるフローチャートなどの実装，情報教育シン
ポジウム論文集，Vol. 2018, No. 31, pp. 210–214 (2018).
本多佑希，兼宗 進： ブラウザ上で動作する DNCL 学習
環境「どんくり」の開発，研究報告コンピュータと教育(CE)，Vol. 2018-CE-147, No. 10 (2018).
大門 巧，大西建輔： ブラウザ上で動作する DNCL 処理
系「Tetra」の開発，研究報告コンピュータと教育 (CE)，Vol. 2019-CE-151, No. 7 (2019).
大宮大地，松本嵩大，松浦敏雄，中西通雄： 試験問題作成機
能と学習及び受験用機能を持つ DNCL プログラミング環
境，研究報告コンピュータと教育 (CE)，Vol. 2019-CE-148,
No. 7 (2019).
長 慎也，長島和平，間辺広樹，兼宗 進，並木美太郎： オ
ンラインプログラミング環境 Bit Arrow における Python
処理系，情報教育シンポジウム論文集，Vol. 2019, pp.
122–129 (2019).
ギ ノ 株 式 会 社： paiza.io, (online), available from⟨https://paiza.io/ja⟩ (accessed 2020-01-10).
新田章太，小西俊司，竹内郁雄： 複数言語に対応しやすい
オンラインプログラミング学習・試験システム track，情報
教育シンポジウム論文集，Vol. 2019, pp. 114–121 (2019).
@melponn，@kikairoya ： Wandbox, (online), available
from ⟨https://wandbox.org/⟩ (accessed 2020-01-10).
小林史弥，白井詩沙香，山澤昭彦，兼宗 進： ドリトルでのデータ処理機能とグラフ描画機能の開発，情報教育シン
ポジウム論文集，Vol. 2017, No. 27, pp. 178–181 (2017).
https://watayan.net/prog/pypen.html

6情報処理学会研究報告
IPSJ SIG Technical Report

タイトル

表 10 「教材」各学習のプログラムについての対応表
Python JavaScript

VBA

PyPEN

学習 11

オーバーフローの発生

○

○

○

○

コンピュータの仕組み

コンピュータの計算誤差

○

○

○

○

学習 12

順次

○

○

○

○

外部装置との接続
学習 13
基本的プログラム学習 14
応用的プログラム

分岐

○

○

反復

○

○

順次の例

○

○

分岐の例

○

○

○

○

反復の例

○

○

○

○

分岐と反復

○

○

○

○

リスト・配列の例

○

○

○

○

乱数の例

○

○

○

○

関数で分割したプログラムの例

○

○

○

○

WebAPI の例

○

学習 15

線形探索の例

○

○

○
○

○

アルゴリズムの比較

二分探索の例○○○○

選択ソートの例

○

○

○

○

クイックソートの例

○

○

○

○

○

学習 16

預金の複利計算○

確定モデルと確率モデル

同グラフ化

○

乱数発生

○

○

サイコロのプログラム

○

○

同度数分布

○
○

○

○

○

○

○

○

○

○

○

○

円周率

○

○

○

散布図を作成

○

○

○

学習 17

放物運動

○

○

○

自然現象のモデル化と

個体の増加

○

○

○

シミュレーション

ランダムウォーク

○○○小林史弥，本多佑希，白井詩沙香，兼宗 進： オンライン版ドリトルを用いたデータ分析学習環境の開発，情報教
育シンポジウム論文集，Vol. 2018, No. 16, pp. 112–117(2018).
[14] 兼宗 進，本多佑希： 高等学校「情報 I」の研修資料におけるプログラミングの言語の扱い，情報教育シンポジウ
ム論文集，Vol. 2019, pp. 168–175 (2019).
[15] 岡本雄樹，辰己丈夫： 高等学校「情報 I」の研修資料を
JavaScript 言語で実施するうえでの検討，研究報告コン
ピュータと教育 (CE)，Vol. 2019-CE-151, No. 3 (2019).
[16] クジラ飛行机： なでしこ：日本語プログラミング言語，（オンライン），入手先 ⟨https://nadesi.com⟩ （参照 202001-12）.
[17] 中西 渉： Web ブラウザ上のプログラミング学習環境
WaPEN の改良，情報教育シンポジウム論文集，Vol. 2019,
pp. 130–135 (2019).
[18] The Qt Company: Qt Cross–platform software development for embedded & desktop, (online), available from⟨https://www.qt.io/⟩ (accessed 2019-05-29).
[19] MDN contributors:
オリジン間リソース共有(CORS)，MDN Web Docs（ オ ン ラ イ ン ），入 手 先⟨https://developer.mozilla.org/ja/docs/Web/HTTP/
CORS⟩ （参照 2020-01-13）.

[13]

c 1959 Information Processing Society of Japan⃝

7