スポンサーリンク

2019年02月26日

【プログラミング教育?】『プログラミング教育はいらない GAFAで求められる力とは?』岡嶋裕史


プログラミング教育はいらない GAFAで求められる力とは? (光文社新書)
プログラミング教育はいらない GAFAで求められる力とは? (光文社新書)


【本の概要】

◆今日ご紹介するのは、先日の「未読本・気になる本」の記事でも人気だった1冊。

2020年からのプログラミング教育必修化を目前にして、今一度「プログラミング教育」に関して知見を深めることができました。

アマゾンの内容紹介から一部引用。
ジョブズ、ザッカーバーグ、ペイジ、ベゾス、ゲイツを教育で生み出せるのか?
2020年、プログラミング教育必修化に向けて問う。キモは、プログラミングではなく「プログラミング的思考」。

なお、Kindle版は、新書の定価と変わらないのですが、版元の光文社さんがあまりセールを行わないところなので、我慢できずに買ってしまいましたw





Programming with auti kids / Peter Van Lancker


【ポイント】

■1.重要なのはアイデアと実製品の距離の近さ
 成功者が概ね共通して持っている特性は、アイデアと実製品の距離の近さである。ラリー・ペイジもマーク・ザッカーバーグも、アイデアを思いついただけにとどまらず、自分でコードを書き、サービスを作ってしまった。この距離感が、ライバルをビジネスで圧倒する速度と柔軟性を生む。発想を形にする力が傑出しているのである。(中略)
 アイデアとそれを実現する能力の距離は、必ずしもゼロでなくていいと思う。アイデアパーソン=プログラマであれば実装速度は速いだろうが、それは必須条件ではない。
 たとえば、スティーブ・ジョブズはプログラムを書いたが、業務水準のプログラムが書けたかどうかは疑問符がつく。アマゾンのジェフ・ベゾスはキャリアの最初期にしかプログラムを書いていないと思われる。しかし、専制的とも言われるほどのプログラマへの指示と対話により、自分のアイデアを、輪郭を保ちながら市場に問うことに成功している。


■2.避けられない上流工程の偏重
 仕事に貴賤はないのだが、上流工程に優秀な人材が配置されがちだし、それを望む技術者も多い。なぜなら、上流工程の、たとえば戦略の部分を間違えてシステム化を計画したり、それに基づいてシステムを設計・開発してしまうと、テストや運用の部分でいくら頑張っても取り返しがつかないからだ。
 また、上流工程で間違った設計をしてしまうと、下流工程の仕事がしにくくなり、担当技術者が優秀でも操作ミスが多発して、情報漏洩が生じるような事態も考えられる。
 たとえば、総額で30億円以上のお金を投じながら、最初の2年間で133件しか使われなかった「パスポート電子申請システム」などは、やはり上流工程での失敗例と言わざるを得ないだろう。この失敗が、現場で奮闘するテスト担当者や運用担当者の努力で何とかなった(利用者が増えた)とはまったく考えられない。
 どんなシステムもそうだが、「こんなもの、本当にいるのか?」といった戦略や現状分析の部分を間違えると、後の工程の人がどんなに頑張っても、どうにもならないのだ。


■3.「プログラミング的思考」とは?
 プログラミング的思考とは、文科省によれば「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、1つ1つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」である。
 これは、プログラミング技術を念頭に置いてはいるが、必須ではない。前記の表現をもう少しかみ砕き、実務に即して拡張するならば、
「自分1人の力では解決しきれないと思える大きな問題を、小さな問題へと分解し、それでも解決できないようであれば、さらに小さな問題へと分解していける力。解決可能な水準になった問題を解決するための方法を考え、しかもその方法を具体的な解決策へと導ける力。具体的な解決策は、必ずしも1人で作る必要はないが、多くの人が作ったそれをどう組み合わせれば、最初に設定されていた大きな問題を解決できるのかを考えられる力。協力してくれる人(必ずしも協力的でない人でもいい)に何をしてほしいのかを適切に伝え、彼女ら/彼らが提供する解決策をまとめあげる力」
 と言い換えることができる。
 これをキーワードに置き換えると、論理的思考能力、問題解決能力、プロジェクトマネジメント能力、コミュニケーション能力ということになる。


■4.子どもたちは、必ずしもプログラミング教育が好きではない
 確かにプログラミング講座を観察すると、子供たちは楽しんでいる。しかし、無条件に楽しんでいるのは、導入部のマインクラフトにほぼ限定される。マインクラフトは、先にも述べたように、現在、教育用ツールとして重要な位置を占めているが、もともとはゲームである。子供たちを熱中させる要素に事欠かないのだ。(中略)
 やはり、ゲームと学習は違う。どんなアクティビティでも、それが学習に接続した瞬間に失われる楽しさ、というものは存在するので、過度に悲観する必要はないが、子供たちは必ずプログラミング教育を楽しむはず、という思い込みが危険であることは、述べておきたい。
 言葉を換えれば、小学生のクラスルームに取りあえずマインクラフトを導入すれば、何となくプログラミング教育を実践しているイメージを演出することができ、かつ子供たちが集中して取り組むことも予想できる。
 しかし、それが本当にプログラミング教育として機能しているかは、第三者の視点も交えて検証しなければならないだろう。


■5.「論理でしか動かない」ことを学ぶ重要性
 また、コンピュータが論理でしか動かないのも好都合だろう。
 日本の社会や会社では、まだ「最後は気合い」とか「ここ一番は気持ち」とかいう風土が実に根強く残っている。論理の固まりで動いている象牙の塔でさえそうだ。かく言う私だって、この原稿を書いていて、「最終的には、何日か徹夜すれば間に合うだろう」と考えている。最後には気合いで押し切ろう、結局それが一番なんだ、と思っているうちは、国際社会で議論もできないし、長時間労働もなくならない。
 でも、人間が相手だと、それが通ってしまうところが問題なのである。(中略)
 でも、コンピュータに情実は通用しない。コンピュータは論理回路の集積によって構成され、動作している。よくも悪くも、指示した論理が間違っていれば、動かない。少なくとも、思った通りには動かない。
 これを人生の早い段階で経験し、物事というのは、あるいは仕事というのは論理的に考え、論理的に指示しなければ、回っていかないものなんだ、完成しないものなんだ、という体験を積んでおくことは非常に重要であると思われる。


【感想】

◆これから導入される「プログラミング教育」に関する、さまざまな問題点等を理解する上で、非常に有意義な作品でした。

そもそも「プログラミング教育」と聞いて、私がイメージしていたのは、スクラッチ等によるビジュアル言語を用いて、簡単なコードを書くことだったのですが、これはあくまで主目的ではないのだそう。

文部科学省の意図するところは、あくまで「プログラミング的思考」の修得であり、その「プログラミング的思考」とは何か、というのは、上記ポイントの3番目にあるとおりです。

それを踏まえて、本書の「はじめに」にて著者の岡嶋さんいわく、
コーディング(狭義のプログラミング)の教育 → いらない
プログラミング的思考(も含めた広義のプログラミング)の教育 → すごくいい
ということ。

確かに、そのポイントの3番目の最後で挙げられた「論理的思考能力」「問題解決能力」「プロジェクトマネジメント能力」「コミュニケーション能力」という4つの能力は、いずれも人生において必要なものばかりです。


◆実際、上記ポイントの1番目にあるように、GAFAの創業者たちは、コーディング能力というよりは、プログラミング的思考に優れている、と言えるかと(ページやザッカーバーグはコーディングもかなりのものらしいですが)。

また、GAFAレベルまでいかないにせよ、経営者やリーダーがプログラマと直接対話できる水準の情報技術を有していれば、「この製品は作れるのか/作れないのか、いくらで作れるのか、作った後にいくらかかるのか、どちらの要素技術を選択すべきか等」の決断において、正しい選択ができる可能性が高まります。

このトップレベルの判断が重要なのは、上記ポイントの2番目にもあるとおり。

ここにある「パスポート電子申請システム」の件は、当時私も聞いたことがありましたが、普通の営利企業だったら、即、倒産レベルのお話です。

もちろん、あの申請の際の長蛇の列を考えたら、ネット上で行えるようにする「方向性」は、決して間違っていないと思うのですが。


◆とはいえ、そのプログラミング教育を小中学校で行おうとすると、問題は山積みです。

そもそも「狭義のプログラミング」であるコーディングを指導するのでさえ、教員の数が足りなすぎるかと。

私もムスコにScratchを教えた際は、かなりの時間つきっきりでしたし、有料の民間講座でも1人の講師につき、生徒3〜4人しか見られないのだそうです。

なお、この人数を7〜8人にできれば、受講料も下げられるところ、どうしてもついていけない(テキストが読み込めない)生徒がいて難しいのだとか(詳細は本書を)。

そして、上記ポイントの4番目で指摘されているように、マインクラフト等のゲームを導入すれば食いつきはいいものの、結局「何となくプログラミング教育を実践しているイメージを演出する」だけに過ぎない可能性もあります。


◆それでも、プログラミング教育によって学べる能力は、人生において有益なものばかり。

上記ポイントの5番目にある「論理的思考能力」は、その代表的なものでしょう。

たとえばウチのムスコにやらせて、「論理的」という意味でなかなか良かったのが、この「アルゴロジック」です。

アルゴリズム体験ゲーム・アルゴロジック|JEITAソフトウェアで未来をつくる

小さな問題がいくつもあって、それを解決していくことによって、ロジカルな考え方が身に付くという仕様。

大人がやってもフツウに手こずる(ムスコに負けたことアリ)ので、ぜひ1度お試しアレ。

また、「コミュニケーション能力」も、ただ弁が立つだけではなくて、「相手がしてほしいことを感じ取る能力」「相手にとって最適な指示の仕方が理解できる能力」と考えると、まさにビジネスシーンでは必須なものと言えるでしょう。
目的達成のために必要な要素、その分解、組み合わせ、効率化、そして創造性の発揮。これら社会をサバイブしていくのに必要な能力は、プログラミングの中にほぼ揃っている。
まさに、文系理系問わず、「プログラミング的思考」の重要性が、本書を読むと理解できると思います。


お子さんを持つご家庭なら、必読の1冊!

プログラミング教育はいらない GAFAで求められる力とは? (光文社新書)
プログラミング教育はいらない GAFAで求められる力とは? (光文社新書)
1章 プログラミングとは何か?
2章 プログラマとは何者か?
3章 IT企業が求める能力とは?
4章 プログラミング教育の実際
5章 求められる能力と教育


【関連記事】

【文系必読?】『教養としてのプログラミング講座』清水 亮(2014年03月11日)

【プログラミング】『子どもにプログラミングを学ばせるべき6つの理由 「21世紀型スキル」で社会を生き抜く』神谷加代,できるシリーズ編集部(2015年10月19日)

【プログラミング】『子どもを億万長者にしたければプログラミングの基礎を教えなさい』松林弘治(2015年02月27日)

【仕事術】『最速の仕事術はプログラマーが知っている』清水 亮(2015年07月24日)


【編集後記】

◆本日の「Kindle日替わりセール」から。

ルビィのぼうけん こんにちは!プログラミング
ルビィのぼうけん こんにちは!プログラミング

まさに偶然なんですが、今日ご紹介した本に関係したこんな本がセール対象となりました!

送料を加算した中古よりも、Kindle版が900円弱、お得な計算です!


人気blogランキングご声援ありがとうございました!

この記事のカテゴリー:「ITスキル」へ

この記事のカテゴリー:「子育て・教育」へ

「マインドマップ的読書感想文」のトップへ
Posted by smoothfoxxx at 08:00
ITスキルこのエントリーを含むはてなブックマークYahoo!ブックマークに登録

スポンサーリンク