勝手に情報教育のカリキュラ
ムを作ってみる
NTT
原田康徳
3種類のプログラミング教育
•  職業としてのプログラミング
– その入門(中学技術,スマホアプリ)
•  基礎としてのプログラミング
– IT社会の基礎的な理解,教養
•  学習ツールとしてのプログラミング
– 例:グラフは社会,理科につかえる
社会の変化
•  ITで社会が変化している
•  緊急的には対処療法は必要
•  IT社会の根本原理の理解がブラックボック
スのままで良いわけない
•  学習指導要領はどう修正すべきか
ツールの進化
•  プログラミング用のツールが進化している
•  小さい子が簡単に使える
•  ビスケットだと小1に45分で自分で作った
プログラムを動かすという経験ができる.
さらに45分で条件判定までゆける.
ツールが変わると
教えることができる順番が変わる
力学の運動方程式(自由落下運動)
昔
高校で自由落下の式の暗記
大学で微分方程式 f=ma
今
プログラムで作れる(微積分を知らなくても)
繰り返し,条件,加減算のみ
http://jsbin.com/yeyuqosu/8/edit
発達段階
•  どれくらい難しいことは何年生で教えら
れる,ということを調べるのは難しい
– 専門家にお任せします
•  計算機屋の責任の範囲できることは
– どういうことを教えられるか
– 内容の依存関係
2種類に分けます
(A)基本原理「コンピュータあるある」
中を知っている人にとっては当たり前すぎる
知らない人にはピンと来ないこと
その中には時代・技術に不変なものがある
(B)プログラミングによって教え方が変わる
入門
•  魚がメガネで動く
•  一つのメガネで沢山の魚が動く
•  メガネを直すと,魚の動きが一斉に変わる
•  メガネが壊れると,一斉に止まる
コンピュータ的な製品と,普通の製品の基
本的な違い
車のリコールは一斉に壊れない
(A)
尺取り虫
•  2コマで動く虫
•  ズレる位置,ズレない位置を意識する
•  ものが動くとはどういうことか考える
•  いろんな動くものを見せる.動く玩具
•  動物園の観察
(B)
条件
•  ボールを蹴る虫
–  普段の動き ある条件での動き
•  条件によって動きがかわる
–  条件は人間にとっての目や耳に相当する
•  コンピュータらしい部分
–  記録再生機との本質的な違い
•  パワポとかコマアニメなど殆どのメディア
(A)
複雑さ
•  複雑さ:小さい変化の組み合わせから
•  条件付きのメガネがある
– 動きの複雑さが一気にあがる
– 最初に想定していなかったことが起きる
(よく考えると当たり前だけれど,やる前には考え
が及ばない)
(A)
ゲーム
•  クソゲー:簡単に出来てしまう
•  ムリゲー:難しすぎる
クソゲーとムリゲーの間によいゲームがある
ゲームバランスの取り方
ルールの追加(3発しか打てない)
(B)
作曲法1
•  1から8までの数字を連続して変化させ,音を
入れる→シーケンサーになる
•  好きなフレーズを作る→フレーズの作曲
•  複数の音を入れる→和声
•  9を追加して長さを9のループにする
–  シーケンサーソフトの自作 改造
•  別の系列を作って,ベース音,リズム音など
•  条件でループを変化させる
–  ループ音楽の揺らぎ→クール!
(B)
作曲法2
•  オクターブ7音(12音)から好きな5音を選ぶ
•  様々な条件で5音が鳴るようなプログラムを作る
•  条件が成立する頻度が音の頻度
•  どのような5音を選ぶと心地よいか
–  ペンタトニック,音階
•  和音を何セットかでもよい
–  和声
いままでは楽器が演奏できなければ教えられなかっ
た
(B)
二進法
•  0と1で計算するプログラムを作る
•  その計算は何をやっているのかを調べる
–  二進法の加算,乗算が見れる
•  2を追加して,三進法に改造する
•  3を追加して,四進法に改造する
•  …9を追加して,十進法に改造する
プログラムの複雑さはどうなったか
十進法だと50個くらいのメガネが必要
人間は十進法の計算を暗記しているから簡単に感じる
コンピュータにとっては二進法ほど簡単な計算はない
人間とコンピュータの本質的な違い
(A)
色彩学
•  トーンを合わせた絵
– バランスがとれた
•  色相を合わせた絵
– 立体に見える絵
•  色空間の直感的な理解
(B)
シミュレーション
•  風邪の感染のシミュレーション
– 指数関数的増加の体感
•  病院を建てる 複数建てる
– 指数関数 vs. 線形関数
•  ジャンケンのシミュレーション
– 三すくみのバランス
•  シミュレーションという応用
– 天気予報,建築物
(A)
プログラミング言語
•  オルゴールのプログラム
–  ハートにぶつかるとド,スペードにぶつかるとレ,…
–  記号の並べ方で曲を作れる
–  繰り返しなどの制御文
–  ビスケットの上にオルゴール言語を作った
•  ビスケットは as3, SWF, C++, 機械語の階層
•  言語・抽象概念の階層による記述
–  野球「ゲッツー」料理「しんなり」
–  世の中はせいぜい2階層,コンピュータは何階層も
•  プログラミング言語がコンピュータを支えている
(A)
本当に勝手に
•  ビスケットでできることから,こじつけ
で説明してみた
•  探せばまだ色々とあると思う

Pukai