初等中等教育段階におけるプログラミング学習の必要性
久野靖∗

2014.6.1

1

はじめに• 学問分野固有の特性への本質的理解＋それに根ざした教育□ 情報処理学会と (高校までの) 情報教育

• 「学士課程」「専門教育」だが、初等中等と関連 (情報教育の親学問)• 情報科の最初の指導要領制定時→試作教科書による• 分野固有の能力＋汎用的能力

内容提案「プログラミングもこれくらい入れたらどうですか」□ なぜ情報学は必要か• 情報科がはじまった結果を見て→提言 2005「手順的な自動処理が大切。これをぜひもっとやってほしい」• わが国のソフトウェアやシステムは遅れている• 指導要領改訂時→「もっと高度な内容と積み上げ型に」• ユーザ企業には情報システムが分かる人がいない• 今回の (来る) 改訂→試作教科書 2012「選択必履修• 素人からの聞き取り調査に基づいて専門家が作るという体制はだめをやめて統一を」• 疑問:• 「プログラマを育成しなくては」は間違い:「プログこんなおとなしい提案をしていていいの?

ラマをちゃんと評価でき、プログラマと話ができる□ 世の中の趨勢の変化

人を育成しなくては」• あるべき姿:• 2005 年ころ→筧先生が「プログラミング」とか言ったら記者の方たちがよってきて詰問

初等中等で全員が情報学を学び→その一部が専門家 (システム開発側、ユーザ側) に• 現在→「小学生にプログラミング」ブーム (多くの□ 情報学の定義:活動、IT 戦略会議)• プログラミング言語・環境も大きく変化 (Viscuit、Scratch、Dolittle、アルゴロジック)「情報学は、情報によって世界に意味・価値を与え秩序をもたらすことを目的に、情報の創造・生成・収集・表現・記録・認識・分析・変換・伝達にかかわる原理と技術を探究する学問である」• 今こそ「プログラミングをちゃんと入れるべきだ」と言った方がいい?

• コンピュータなどの情報技術に限定されない包括的な定義□ 本日の内容• これまで「情報教育の親学問は?」「情報科学?」「それでは狭い」のような議論が多数繰り返されて来た• 「情報学」の定義 ← 情報学の参照基準

が→ついに決着したかも• 「コンピューティング」が重要だという話• 小学校から高校まで系統的に ← 個人的提案□ 情報学に固有の (他分野と明確に区別される) 知識の体系• 小学校 1 年からできるという実例• ア.

情報一般の原理 --- 抽象的な内容 (大学レベル)

2• イ. コンピュータで処理される情報の原理 --- ディジタル情報＋コンピューティング (アルゴリズムを情報学の参照基準□ 参照基準:大学の学士課程において学生が身につける用いて情報を扱うこと)専門分野の内容を定める• ウ. 情報を扱う機械および機械を設計し実装するための技術 --- ハード・ソフト・ネットワーク• 文科省の依頼により学術会議で各分野ごとに策定中• エ. 情報を扱う人間と社会に関する理解 --- 「情報社会」• 学生が「職業人」「市民」として生きて行く基礎・基本∗ 筑波大学ビジネスサイエンス系

1• 「仕事中にこれが必要だと思ったらさっと作る人」vs「手作業を続けたり、どうしょうもなくなったら誰か• オ. 社会において情報を扱うシステムを構築し運用するための技術・制度・組織 --- ソフトウェア工学、に発注してすったもんだする人」では絶対に勝負にHCI などならない□ これを現在の情報教育 (高校の情報科) と比較すると…

• アイデアを思い付いたらその人が作るのが一番よい• アは扱われていない (もともと抽象度の高い大学レベルの内容)(他人に説明していると本質が損なわれたり時間が掛かりすぎたりする)• イ〜オはそれぞれの入門部分がひととおり情報科に• 現に企業の情報システムについても「内製化」を進含まれている→すばらしい!

めようとする企業が出て来ている• しかしよく見ると! → イ〜オの各所でコンピューティングの深い理解が前提となっている• 多重下請けによる低生産性という日本の悪癖はいつまでもは続けられない (そんなお金は無くなるから)• 情報科ではコンピューテイングは「ごく一部」□ まとめると:□ 久野の独断でまとめると、めざすことは、誰もが高校までで…

「情報学の本質部分であり、情報教育にはほとんど含まれていない内容」＝「コンピューティン

• 「コンピュータは結局こういうものだ」と納得する

グ (アルゴリズムを用いて情報を扱うこと)」• 克服すべき問題:

こと (今は個別のアプリが出るたびにすごいと思ってしまう)

情報技術の専門家が時間を掛けて学んで来ていること (コンピューティング) について、• 「必要なツールは自分で作れるものだ」と納得する

ほとんど触れたことがなく、何であるかも分からなこと (実際に作れる人は半分くらいでもいいから)

い利用者によって引き起こされるさまざまな問題• 「こういう作業はこうすればコンピュータにやらせられる」という感覚を持つこと (そうすれば説明で3き、発注者になれる)

コンピューティングの重要性• 「実際にソフトウェアを作るということはこういうプロセス」という感覚を持つこと (発注者になるた□ 世界的に「小学校からのコンピューティング学習」ブーム• 米国:

めにもこれは必要)

オバマ大統領やビル・ゲイツ氏などの呼びかけ、多数の活動• 英国: 2014 年からの新たなカリキュラムで「コンピューティング」→全児童・生徒のプログラミング

4

小学校から高校までの系統的教育□ 現在の「情報活用能力」ではコンピューティングが出て学習を義務づけ→単にプログラミングできる、では

こないなく抽象化、モデル化、計算的思考などきちんと考えることを重視• 「情報の科学的理解」を「コンピューティングの理解と活用能力」のようなものに変更するべきでは□ なぜコンピューティングが重要なのか?

• 「科学的理解」の中にある「手段の選択・評価」「問• 情報技術を担う将来の人材を今から育成していかな
ければ (職業ニーズ)

題解決」はこれからは「実践力」の一部として扱うのがいいのでは• 情報技術に無知なまま使うのは危険である (技術教• 以下、そのような考えで久野の独断で各学校段階の「案」を示す

育的視点)• 情報技術に無知な人たちにはまともな情報システム□ 全体的な方針として…の発注ができない• 情報技術に無知な人たちには革新的な情報システムを構想できない• 小学校:• 新しいタイプの考え方 (計算的思考) を身につけさせ• 中学校:たい□ なぜコンピューティングが重要なのか?

発達段階として可能な範囲で十分な経験と準備をおこなう
現在の高校の「情報の科学」＋α程度• 高校: 「実際に作れる」「理論面の理解」「開発作業の理解」を目標とする

(つづき)

□ 小学校

2

• 低学年: 適切なプログラミング環境を使用して、簡単な自動処理の手順を記述させ、そのふるまいを観• 久野が前から知っていて、論文化のためにお手伝いした事例察させるとともに、手順を修正すると動作も変化す• 「みどりっ子クラブ」:

ることを理解させ、計画した動作に対してこれを実

墨田区立緑小学校の課外活動現する記述を計画し実現させる。

• 勝沼さん:• 中学年: 適切なプログラミング環境を使用して、自動処理の手順記述中に条件判断が含まれるようなもコンピュータの専門家ではない普通の人• 原田さん (ビスケット作者) の助けを借りて活動を開始のを記述され、条件判断の成否により動作が変化す• 原田さんは通常はいない。子どもたちの教え合いでることを観察するとともに、場合分けを持つ動作をうまく行っている計画し、それを実現する手順を実現させる。

• 高学年: 適切なプログラミング環境の使用を前提と □ ビスケット --- 画面上に配置した絵の書き換え規則によるプログラミングシステム
して、ある程度込み入った動作をおこなう作品を計画し、繰り返しや条件判断などを組み合わせて、計• キーボード入力が不要、制御構造が不要 → 発達段
階的に小さい子でも OK画した動作を実現させる。

• 実際「ビスケット塾」では未就学児童も対象に開催

□ 中学校

している

• コンピュータの本質的な仕組みや、その万能性、性• 規則は単純だがさまざまな「技」を組み合わせて高度な動きが可能

能向上の意義について理解し、コンピューティングとディジタル情報やコンピュータの関わりについて説明できる。

• 「ゲーム」も作れる→子どものモチベーション的にを適切なアルゴリズムやデータ構造を用いて実現で• 「ビスケット検定」で「技」を意識→その「技」をも有効• コンピュータを利用した計測・制御の基本的な仕組みを知り、さまざまな組み込みシステムの利用場面 □ みどりっ子クラブの運用上の特徴や使用されている理由を理解する。
• ビスケットシステムのさまざまな工夫• アルゴリズムやデータ構造の概念を理解した上で、• 「ノートに設計を書く」→「それに従って作る」
プログラミング言語を用いて、自分が構想した処理知っている子は知らない子に教えられるきる。

• カリキュラム的に言えば「思ったように動かす」「交互」「ぶつかる等の条件による分岐」などが対応□ 高校• プログラミング言語を用いて、(自分個人用、集団内• 運営者はコーディネーター＋大人としての見守り (モなどレベルの差はあっても) 実際に役に立つソフトラル)ウェアを記述できる。

• アクティブラーニング、教え合い→楽しければ学ぶ• 問題解決に必要なアルゴリズムを考えられるとともに、計算量や計算可能性などの概念を理解し、アル □ 少人数に対するインタビュー評価
ゴリズムの実用性を判断できる。

• 「絵を描いて動かすことは楽しい」• 問題を解決するためのソフトウェアが持つべき要件を整理でき、そのようなソフトウェアを設計・構築• 「てきることはコンピュータとスマホで変わらない」• 「ゲーム機は中身を作れないけれどコンピュータでするプロセスが理解できる。
□ まとめ:は作れる」

今後は「小学校から高校まで、系統的かつ段• 「教えることは楽しい」 ←教え合いが重要階的に」コンピューティングを学ぶようなカリキュラム□ まとめ:

構成が理想では?

小学校対象に目標を設けてプログラミング体

験は可能• 実際に理想が実現するかはまた別の問題として…

• 最初は「計画して、その計画のように動く」• 次は「枝分かれのような、条件に従う変化」

5

小学生対象のプログラミング教育• ビスケットでかなり高度なものまで作れるが、どこか□ 「小学校 1 年からコンピューティングなんてできるの?」への解答

から先はテキスト言語に移行するのがよいと考える□ おまけ:

3

英国のカリキュラム「Computing」

• 小学校低学年: アルゴリズムとは何か、簡単なプログラムの構築＋デバッグ• 小学校高学年:

物理システムの制御やシミュレーション、連接/選択/反復、変数、複数アルゴリズムの比較• 中学校:

状態やふるまいのモデル化、アルゴリズムの有用性、データ構造、手続きによる抽象化• 高校:「より高度」□ これはかなり欲張りなんでは?

本当にできるんだろうか?

6

まとめ□ 情報教育の親学問としての「情報学」→コンピューティングが中核□ 今後の日本では社会の構成員全員にコンピューティングの素養を求めたい□ 小学校から高校まで段階的に学んで行くという提案□ 小学校で実践している例 ← 英国のほど過激ではない

参考文献[1] England Department of Education, Thenational curriculum in England --Framework document, september 2013.
https://www.gov.uk/government/collections/
national-curriculum[2] 萩谷, 情報学を定義する --- 情報学分野の参照
基準, 情報処理学会誌, vol. 55, no. 7, 2014
掲載予定.

[3] 原田, 勝沼, 久野, 公立小学校の課外活動における非専門家によるプログラミング教育, 情報処理学会論文誌, 掲載予定.

4