『プログラミングをわが子に教えられるようになる本』
書籍情報:JPO出版情報登録センター
※書籍情報の無断転載を禁じます
プログラミング教育が必修化。大事なのは「国語力」だという意外な事実
[レビュアー] 印南敦史(作家、書評家)
いよいよ今年から、小学校でプログラミング教育が必修化されます。
プログラミング教育に対する関心も高まっていますが、そんななか、「子どもにプログラミングを教えたいが、知識も経験もない」というような悩みを抱えている親御さんや学校の先生たちも少なくないはず。
そこでご紹介したいのが、『プログラミングをわが子に教えられるようになる本』(郷和貴 著、プログラぶっく 監修、フォレスト出版)です。
この本は、「子どもにプログラミングを教えたい」と思っている親御さんや、「急遽、教えないといけない立場になってしまった」と悩んでいる学校の先生が、プログラミング経験やコンピューターの知識がゼロでも、パソコンやタブレットを持っていなくても、幼稚園から小学生の子どもたちに自らプログラミングの基礎を教えられるようになる画期的な1冊です。
(「超画期的な教材との出会いーー『はじめに』にかえて」より)
ベースになっているのは、「プログラぶっく」というカード型プログラミング学習システム。
パソコンの操作方法、アプリ・ロボットなどの使い方、使用するプログラミング言語の仕様など、事前に覚えなければならないことをできるだけ減らし、プログラミングに集中できるようにしてあるのだそうです。
カードを並べて“プログラミング”を行ない、スマートフォン(スマホ)でカードを読み込み、動きを確認します。
並べる動作は直感的でわかりやすく、スマホの操作も最低限の操作にしてあります。
(「本書を読む前にーー監修者から読者の皆さんへ」より)
そのため、4歳児以上なら誰でも簡単にプログラミング学習を始めることができるのです。
きょうは、プログラミングについての基本的な考え方を解説したPART 1「プログラミングを通して子どもが学べる5つのことーー解説編」のなかから、「プログラミングで大事なのは『国語力』に焦点を当ててみたいと思います。
文系が活躍するプログラマーの世界
一般的に「プログラミング=理系」というイメージがありますが、それは大きな誤解なのだと著者は言います。
実際のところ数学や物理が苦手なプログラマーは珍しくなく、むしろ文系のプログラマーのほうが多いほどだというのです。
つまり実際に数学ができなくても、プログラミングはできるということ。
たとえば、画面に描写しているキャラクターを回転させるときに、コンピューターの内部では高校数学で習う三角関数(sin、cos、tan)が使われます。
しかし、実際にプログラムを書いているときは「何度回転しろ」と命令を書き込むだけで済むケースがほとんどで、プログラマー本人が三角関数を意識する必要はほとんどありません。
(27ページより)
そんなところからもわかるように、数学や物理ができなくてもプログラミングはできるというわけです。(26ページより)
なぜ「プログラミング=理系」というイメージが定着したのか?
「プログラミング=理系」というイメージが定着したのは、そもそもコンピューターが「人間には処理できない複雑な計算をしてくれる道具」として生まれたことにあると著者は指摘しています。
コンピューターは「超優秀な電卓」であり、仕事でそれを真っ先に必要とするのは物理学者のような科学者。
そのため「コンピューター=理系」という先入観が生まれ、そこから「コンピューターに命令を出す人(プログラマー)=理系」というイメージができあがったということです。
しかし、「コンピューターを使ってなにをするか」という大本の話と、「コンピューターをどう使えば目的が達成できるか」という手段の話は、分けて考えないといけないのだそうです。
たとえば子どもがデータサイエンティストになりたいのなら、膨大なデータを調理・加工していくための高度な数学知識(統計学など)が必要になります。
一方、プログラミングは「手段」の問題であって、そこに理系スキルは必ずしも必要ではないということ。(27ページより)
プログラミングで求められる2つの能力
では、プログラミングで求められるスキルはどのようなものなのでしょうか? 著者によれば、それは以下の2つ。
◎的確な指示を考え抜く能力(論理的思考力、疑う力、伝える力)
◎与えられた前提条件や課題を正確に読み解く能力(読解力)
この2つの能力を同時に必要とする科目は「国語」です。
(28ページより)
「的確な指示を考え抜く能力」が必要なのは、コンピューター自体に「判断能力(考える力)」はないから。
コンピューターは「指示待ち人間」の究極系なので、プログラムを書く人間が、代わりに考え抜かなければいけないということです。
そして「読解力」が重要なのは、理解のズレがミスにつながることは往々にしてあるものだから。
◎自分に今何が求められているのか?(ゴールの理解)
◎こんなときはどう行動(判断)すればいいのか?(ルールの理解)
◎どんな手段を使っていいのか?(制約の理解)
(29~30ページより)
これらの認識がひとつでも間違っていると、ミスコミュニケーションが起こるということ。
とくにプログラマーの仕事は、上司やクライアントがそのプログラムで実現したいことを理解したうえでプログラムをつくるケースが大半。
しかも実際には、複数のプログラマーが役割分担をしながら大きなプログラムをつくっていくことになります。
そのときに、「自分に与えられたゴールやルール、制約を理解できないとチームとして機能しない」ということを、プログラミングを通じて学べるというわけです。(28ページより)
こうした基本的なことを確認したうえで、続くPART 2「遊びながらプログラミングの基礎的思考を身につけるーー課題編」の「プログラぶっく」では、プログラミングがどういうものなのかが解説されていきます。
プログラミングがどういうものなのかを体験できるので、無理なく理解できるはず。ぜひ、親子でチャレンジしてみてはいかがでしょうか?
Photo: 印南敦史
Source: フォレスト出版