「プログラミング教育」タグアーカイブ

【プログラミング教育】マインクラフト参考本一覧

このページでは、実際に目を通した「マインクラフト」の解説・攻略・資料本について備忘録的に記しています。

プログラミングに関わる本

マインクラフトのプログラミングに関しては、主に3つの領域があります。(1)レッドストーン回路(2)コマンドブロック(3)Codeです。

(1)レッドストーン回路

MOJANG公式『マインクラフト公式ガイド レッドストーン』技術評論社、2018年5月

▼内容:レッドストーンを使った基本的な回路の組み方から、応用的な機械の作り方までが紹介されています。エレベーター・エリトラランチャー・ピストンクラッシャー・自動醸造器・レッドストーンの灯台などの具体的な組みたて方が紹介されています。

難易度★★★

(2)コマンドブロック

松尾高明、斎藤大輔、ナポアン、nishi著『みんな大好き!マインクラフトるんるんプログラミング!コマンドブロック編』ソシム、2017年4月

▼内容:レッドストーン回路についての解説もあり、自動ドア・自動小麦収穫装置・エレベーター・サトウキビ自動収穫装置・アイテム自動仕分け機・自動鶏肉収穫器・トロッコレールの切り替え等が紹介されています。
コマンドやコマンドブロックについての紹介・説明があります。テレポート装置・まとめてエンチャント装置・mob接近監視装置・落とし穴・歩く歩道・子どものままの動物を償還する方法・カギを使って開けるドア・指定範囲内でダッシュ禁止・ダンジョン自動生成等が紹介されています。

▼付録:ブロックID/アイテムID一覧、主要データ値一覧、主要コマンド一覧、バージョン1.11で変更された主要エンティティID一覧

難易度★★★★

(3)Code

広野忠敏&できるシリーズ編集部『できる パソコンで楽しむマインクラフトプログラミング入門』インプレス、2018年4月

▼内容:MakeCodeで実際にコードを書いてプログラミングをします。掘削・効率的なマイニング・ピラミッドを作る・養鶏場で卵を収穫・畑を作って農作物を育てる・対戦バトルを楽しむ等が紹介されています。

▼付録:ブロック一覧

難易度★★★★★

建築に関わる本

MOJANG公式『マインクラフト公式ガイド クリエイティブ』技術評論社、2018年5月

▼内容:建築の基礎からそうとう大規模な応用まで紹介されています。人里離れた砦・照明システム・エキゾチックな別荘・垂直輸送のためのシステム・水中観測所・スチームパンクの飛行船などが紹介されています。具体的な作り方が細かく紹介されているわけではないので再現することは大変かもしれません。

難易度★★★

飛竜&今井三太郎『マインクラフト スーパー建築レシピ』玄光社MOOK、2016年1月

▼内容:建築の基礎から応用まで紹介されています。小規模建築から中規模、大規模建築まで幅広く、さらに内装や自動装置(自動ドア・エレベーター・隠し扉・エンチャントステージ等)の作成まで紹介されています。写真が多く、素材のレシピ等も分かりやすく紹介されています。

難易度★★★★

『マインクラフト 家&村づくり完全攻略 レッドストーン・建築・ミニゲームを極める!』ソシム、2016年8月

▼内容:基本的には建築の仕方を紹介していますが、他にレッドストーンの基本的な使い方や、建築の技を応用したミニゲームの作り方などが紹介されています。他、サバイバルモードでの小技等も紹介されています。

▼付録:エンチャント一覧・アイテムレシピ集・ポーションレシピ集

難易度★★

『マインクラフト レッドストーン・建築・インテリア攻略ガイド』ソシム、2017年8月

▼内容:基本的には建築や内装について、細かいテクニックが紹介されている本ですが、さらにレッドストーンの具体的な使い方についても示されています。レッドストーンに関しては、アイテム分別機・暗号式の鍵ドア・ダイヤル錠のカギドア・自動点灯玄関ライト・自動攻撃通路・溶岩式殲滅装置などが紹介されています。

難易度★★★

『マインクラフト 鉄道&建築ガイド』ソシム、2017年3月

▼内容:特にトロッコの使い方に焦点を当てて、レールの敷設や駅の作り方など鉄道に関する建築を紹介しています。レッドストーンを使ったテクニックなども紹介されています。

難易度★★

攻略を含めた全般的な本

MOJANG公式『マインクラフト公式ガイド ネザー&ジ・エンド』技術評論社、2018年5月

▼内容:サバイバルモードに関して、特にネザーとジ・エンドについて紹介されています。Mobについて詳しく紹介されています。
攻略に関わるデータや技の紹介が目的の本であり、建築やレッドストーンに関する情報はまったく載っていません。

難易度★

『ゲーム攻略ブック マインクラフトの基本から建築まで1冊でわかる本 プログラミング教育対応版』三才ブックス、2018年8月

▼内容:サバイバルモードの攻略から、建築、レッドストーン回路の基礎までが紹介されています。

▼付録:Mob一覧・作業台レシピ・

難易度★★

『ゲーム超攻略ガイド マインクラフトすっごい技まとめ』ソシム、2018年4月

▼内容:サバイバルモードの攻略、アイテムの基本的な使い方や小技から、建築やインテリアに関する小技やレッドストーン回路の基礎まで紹介されています。

▼付録:エンチャント効果・醸造レシピ・作業台レシピ

難易度★★

【紹介と感想】鴨志田英樹『次世代リーダーを育てる!ファーストレゴリーグ』

【紹介】「ファーストレゴリーグ」(FLL)とは、ブロックおもちゃのレゴを使用して自律型のロボットを作り、課題をこなして獲得した得点を競いあう、全世界の子どもたち32万人が参加する、世界最大級のロボット競技会です。
競技といっても、勝ち負けが重要なのではありません。この競技を通じて様々なことに気づき、成長することこそが一番の眼目です。
本書は、FLLに参加した日本の子どもたちや指導者たちへ、FLLで何を学んだのか、何ができるようになったか、自分がどう成長したか等をインタビューし、それを通じて教育にとって大切なことは何かを考えています。

【感想】いいなあ、うらやましいなあ。私もいま子どもだったら、絶対にFLLに参加するのになあ。と、心から思う。めちゃめちゃ楽しそう。小さい頃から世界を相手に戦えるのも、ほんとう、うらやましい。

プログラミング教育が論理的思考力や粘り強く目標を実現する力、あるいは問題発見・解決能力を養うことは様々な人が指摘しているけれども、本書が明らかにするのは、それ以上に「コミュニケーション能力」や「リーダーシップ/フォロワーシップ」や「団結力」など、「人間関係調整能力」が有意に発達するということだ。参加した子どもも指導者も、異口同音に人間関係調整能力の重要性を指摘する。お互いの個性を認め合い、異なる多様な考えを受けとめて総合し、一つの目標に向けて全員の持ち味を存分に発揮すること。これがFLLで成功するための決定的な秘訣なのだ。参加者や指導者が口々に言う「一人でやるよりも仲間といっしょにやったほうが成功しやすい」という世界の真理は、学校の勉強だけではなかなか気がつかないことだ。

「21世紀型スキル」とか「ソフトスキル」とか「生きる力」とか、いろいろな言葉で抽象的に表現されてきていることが、FLLでは極めて具体的な姿で目に見える。本当に素晴らしい実践だと思う。私は子どもとして参加することはできないけれども、教育に関わる者として何かしらの形で関わってみたい、そう思わせる熱量の高い実践だ。

鴨志田英樹『次世代リーダーを育てる!ファーストレゴリーグ』KTC中央出版、2018年

【教育課程の基礎】プログラミング教育とは何か?(小学校篇)

このページでは、2020年度から開始される「小学校」のプログラミング教育について考えます。

ありがちな勘違い

(1)教科ではない

「プログラミング」という教科目が増えるわけではありません。プログラミングに関する教科書もテストもありません。実は、従来の国語・算数・理科・社会等々という科目の中でプログラミングを扱うのです。
このように、教科目を新しく作るのではなく、既存の教科を総動員して様々な資質・能力を伸ばしていくことを、プログラミング教育に限らず全般的に「教科等横断的な視点」による教育と呼んでいます。プログラミング教育は教科等横断的に扱うものです。(参考:教科等横断的な視点とは何か?)

(2)プログラマー教育ではない

プログラマーを作ろうという教育ではありません。それは高校や専門学校の仕事です。小学校は「義務教育」であり「普通教育」の場です。まずは「人格の完成」を目指す場所であって、なにか特定の職業教育を施すところではありません。将来の職業に使えるスキルを身につけるのが目的ではありません。
重要なことは、小学校で行なう普通教育としてのプログラミング教育は「普遍的な能力」を育てるために行なうものだということです。

そもそも普通教育とは?

小学校で水泳を学ぶのは、水泳でオリンピックに出るためではありません。ノコギリの使い方を学ぶのは、大工になるためではありません。国語を学ぶのは、小説家になるためではありません。理科を学ぶのは、ノーベル賞を目指すためではありません。まったく同様に、プログラミングを学ぶのは、プログラマーになるためではありません。
すべて、人間が持つ「普遍的な能力」を伸ばすために行なう教育です。プログラミング学ぶのではなく、プログラミング学ぶ。これが鉄則となります。

(3)プログラミング言語を学ばない

プログラミング教育というと、モニターに向かってキーボードをぺちぺち打つ姿を想像しがちです。実際には、そういうふうに「プログラミング言語」を使用した活動はほとんど想定されていません。文科省が狙っているのはプログラミングによって「普遍的な能力」を伸ばすことであって、実際にプログラムを組む手続きを身につけることは目指していません。

プログラミング教育で育つ能力

さて、それではプログラミング教育で育つ「普遍的な能力」とはなんでしょうか?

(1)論理的思考力・抽象的思考力

プログラムは曖昧な命令を理解してくれません。自分が思ったとおりに動かすためには、物事の本質を確実に捉えて、論理的にプログラムを組み立てなければいけません。
具体的に逐次処理や条件分岐、ループ処理やサブルーチンなどプログラミングの基本的な考え方を身につけることは、実は日常生活を論理的に考える力につながります。たとえば料理を作る工程は、プログラミングの思考とよく似ています。料理が苦手な人は、おそらくプログラミングも苦手でしょう。なぜなら両者は逐次処理(洗う→切る→水にさらす)や条件分岐(沸騰したら鍋に入れる)、ループ処理(微塵切り)など「論理的に考える力」が共通しているからです。
逆に言えば、家庭科で料理の工程を論理的に組み立てることは、そのままプログラミング教育になるということでもあります。もちろん国語科や算数も、論理的な力を育てるという点でプログラミング教育と親和的でしょう。

(2)知識の活用

PISAショック以降、文部科学省が学力の定義を法的に定めて「活用力」を前面に打ち出してきたのは、周知の事実でしょう(参考:「学力」とは何か)。しかし学校現場でどのように「活用力」を養うのか、具体的に授業の中に落とし込むのは極めて大変です。そんなとき、プログラミング教育が力を発揮します。授業で学習した知識がプログラミングで実際に「使える知識」であることを実感した時、子どもたちの世界は確実に広がっていくことになるでしょう。
たとえば算数や理科の「活用」では、プログラミング教育が大きな威力を発揮することが期待できそうです。プログラミング教育とは、学校現場で教えるべき「知識」が増えたと考えるのではなく、「活用」のときに使えるツールが増えたと理解するべきものかもしれません。

(3)想像力・創造力・表現力

プログラミングは、なんらかの最終目標がないと始まりません。その目標は他人から与えられるのではなく、自分が決めるものです。プログラミングとは、自分が思い描くものを実現する技術です。
子どもたちは、ものを作ることが大好きです。黙って椅子に座って授業を聞いている時は死んだ魚のような目をしている子どもたちも、実際にものを作る作業では活き活きと活動します。プログラミング教育も、先生が与えた課題をこなすというだけでは、おそらくこれまでの教育と同じ失敗を繰り返します。
プログラミング教育の強みとは、子どもたちの想像力・創造力を土台にしやすいことです。何かを表現したいという子どもたちの素直な欲求を、そのまま教育の力へと繋げやすいことです。
たとえば美術や音楽という教科とプログラミング教育を結びつけることで、これまでには不可能だった新しい創造・表現が可能となるでしょう。たとえば音楽では、小学校から「作曲」をする子どもが出てきてもいいでしょう。

(4)目標に向かって粘り強く実行する力

自分の作りたいものを表現するといっても、なにもかも思い通りにできるわけではありません。目標を実現するためには、大きな目標を実行可能な小さな目標に分割し、着実に積み上げていくことが必要となります(スモールステップ)。
目標を簡単に諦めてしまう子どもが往々にしていますが、それは意志が弱いというよりも、目標に向かう具体的な道筋が見えず、まず何をしていいのか分からないからかもしれません。目標を分割し、実行可能な小さな目標を少しずつ達成していけば、最終的に大きな目標に辿り着けるかもしれません。
プログラミングとは、最終的な目標を小さな目標に分割し、着実に積み上げていく技術です。この技術は、プログラミングに使えるだけでなく、目標から逆算して今やるべきことを割り出すなど、人生の目標を達成する上でも大きな意義を持つでしょう。成功体験を積み上げることで自分自身の力に自信を持つことも期待できます。

(5)問題発見・解決能力

プログラムは、どこか一個所でも間違っていると思った通りには動きません。しかし難しいのは、「どこが間違っているか」がすぐには分からないところです。子どもたちは、試行錯誤しながら少しずつ修正を重ね、最終的に自分の理想どおりの形を作り上げていきます。プログラムの間違いを探し出して修正する作業を「デバッグ」といいます。
勉強ができない子どもに往々にしてありがちなことは、答えが間違っていると自分の解答を全部消しゴムで消してしまうということです。どこがどう間違っているかを考えずに、何もかもがダメだったと諦めやすいのです。しかし逆に勉強ができる子は、どこがどのように間違っていたかを検証する習慣がついています。どこが間違っていたかが明らかになれば、あとは修正するだけです。勉強ができない子は、往々にして「どこが間違っていたか」がそもそも分かっていないわけです。
プログラミングを通じて「デバッグ」を身につけると、通常の勉強でも「どこが間違っていたか」を探り当てようとする習慣がつきます。あるいは勉強以外でも、環境にすぐ適応できる高い修正能力を身につけることが期待できます。

(6)コミュニケーション力

プログラミングで子どもたちが目指す表現は、おそらく単なる自己満足の領域に留まることは少ないと思われます。アニメーションにしろ、ゲームにしろ、何かを表現する時には「誰かを喜ばせたい」という気持ちが土台にあることが多いはずです。プログラムとは、人と人を繋げるツールです。オンラインで海外の人々とも簡単に結びつきます。プログラミング教育を通じて英語コミュニケ―ションの必要性を実感することもあるでしょう。プログラミングを媒介として、子どもたちの世界は広がっていきます。
またプログラミングは多様な個性や才能を持った人との共同作業に結びつきやすいものです。プログラミングを通じて協働的な力を育むことが期待されています。

学習指導要領の定義

さて、それでは各学校は具体的に何をしなければいけないのでしょうか。学校がやるべき仕事は学習指導要領にぜんぶ書かれています。小学校学習指導要領では、総則「第3の1の(3)」で、プログラミング教育が以下のように規定されています。

第3 教育課程の実施と学習評価
1 主体的・対話的で深い学びの実現に向けた授業改善
⑶ 第2の2の⑴に示す情報活用能力の育成を図るため、各学校において、コンピュータや情報通信ネットワークなどの情報手段を活用するために必要な環境を整え、これらを適切に活用した学習活動の充実を図ること。また、各種の統計資料や新聞、視聴覚教材や教育機器などの教材・教具の適切な活用を図ること。
あわせて、各教科等の特質に応じて、次の学習活動を計画的に実施すること。
ア 児童がコンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得するための学習活動
イ 児童がプログラミングを体験しながら、コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動

ちなみに上記文中で「第2の2の⑴」とある個所は、以下の通りです。

2 教科等横断的な視点に立った資質・能力の育成
⑴ 各学校においては、児童の発達の段階を考慮し、言語能力、情報活用能力(情報モラルを含む。)、問題発見・解決能力等の学習の基盤となる資質・能力を育成していくことができるよう、各教科等の特質を生かし、教科等横断的な視点から教育課程の編成を図るものとする。

総則の記述をまとめると、プログラミング教育とは「教科等横断的な視点」によって育成するべき3つの資質・能力のうちの一つである「情報活用能力」を育成するための手段です。(他の2つは、言語能力と問題発見・解決能力)。
そして具体的に学校がやるべきこととしては、(ア)タイピングの技術(イ)実際のプログラミングの2つが定められています。これは学習指導要領に記載された以上、あらゆる学校で最低限は実現しなければいけない事項です。

また、学習指導要領では、各教科(算数と理科のみ)および総合的な学習の時間でもプログラミングという言葉が見えます。
たとえば、算数では以下のように示されています。

2 第2の内容の取扱いについては、次の事項に配慮するものとする。
⑵ 数量や図形についての感覚を豊かにしたり、表やグラフを用いて表現する力を高めたりするなどのため、必要な場面においてコンピュータなどを適切に活用すること。また、第1章総則の第3の1の⑶のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には、児童の負担に配慮しつつ、例えば第2の各学年の内容の〔第5学年〕の「B図形」の⑴における正多角形の作図を行う学習に関連して、正確な繰り返し作業を行う必要があり、更に一部を変えることでいろ
いろな正多角形を同様に考えることができる場面などで取り扱うこと。

なるほど、5年生で「正多角形」を扱う時にプログラミングの出番となるようです。
また、理科では以下のように示されています。

2 第2の内容の取扱いについては,次の事項に配慮するものとする。
⑵ 観察、実験などの指導に当たっては、指導内容に応じてコンピュータや情報通信ネットワークなどを適切に活用できるようにすること。また、第1章総則の第3の1の⑶のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には、児童の負担に配慮しつつ、例えば第2の各学年の内容の〔第6学年〕の「A物質・エネルギー」の⑷における電気の性質や働きを利用した道具があることを捉える学習など、与えた条件に応じて動作していることを考察し、更に条件を変
えることにより、動作が変化することについて考える場面で取り扱うものとする。

なるほど、6年生の「電気」を扱うところでプログラミングの出番ということのようです。
そして「総合的な学習の時間」では、以下のように示されています。

2 第2の内容の取扱いについては、次の事項に配慮するものとする。
⑶ 探究的な学習の過程においては、コンピュータや情報通信ネットワークなどを適切かつ効果的に活用して、情報を収集・整理・発信するなどの学習活動が行われるよう工夫すること。その際、コンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得し、情報や情報手段を主体的に選択し活用できるよう配慮すること。
⑼ 情報に関する学習を行う際には、探究的な学習に取り組むことを通して、情報を収集・整理・発信したり、情報が日常生活や社会に与える影響を考えたりするなどの学習活動が行われるようにすること。第1章総則の第3の1の⑶のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には、プログラミングを体験することが、探究的な学習の過程に適切に位置付くようにすること。

どうもこれだけ読むと、タイピング技術の習得に関しては、算数や理科の時間ではなく、「総合的な学習の時間」に行なうことを想定しているように読めてしまいますね。プログラミング教育が入ってくることで、どうやら各学校は「総合的な学習の時間」の全体的な構想に頭を悩ませる必要が出てきているようです。
とはいえ、総合的な学習の時間を単にタイピングの訓練のみに費やすのは、少々もったいない気がします。プログラミング教育が「普遍的な資質・能力」を伸ばすものであることを踏まえて、創造的・独創的な実践が現われてほしいものです。
ちなみに算数の「正多角形」と理科の「電気」でどのようにプログラミングを入れ込むかは、様々な実践事例が指導案と共に出てきているので、参考事例には事欠かないでしょう。

まとめ

これまでの教育は「読み・書き・ソロバン」と言われてきましたが、これからは「読み・書き・コンピュータ」という時代がやってきそうです。コンピュータを使う能力は、もはや特別なものでも何でもなく、基本的な「リテラシー」として理解するべきものです。基本的なリテラシーであるのなら、それは普通教育の場である小学校で習得すべきものとなります。
そしてコンピュータを使う能力とは、具体的にソフトウェアを扱う知識の集合ではありません。ソフトウェアは日進月歩、十年後にはOSレベルでまったく別のものになっているため、個々の知識を身につけてもあまり意味はありません。身につけるべき能力とは、目標を立て、論理的に思考し、実行可能な行動に分解し、着実に遂行し、問題点を洗い出し、解決し、結果を目標に照らして評価する、一連の思考力・判断力・表現力です。その力は、これまでの学校教育でも育成してきたもののはずです。
プログラミング教育を、余計な負担が増えたと考えるのではなく、これまでの教育のあり方をより良くするためのありがたいツールとして考えていきたいものです。

参考文献

超々初心者向け

■石戸奈々子『プログラミング教育ってなに? 親が知りたい45のギモン』Jam House、2018年

主に保護者向けに書かれたプログラミング教育の案内書です。右も左も分からない超初心者にお薦めの本です。プログラミング教育がどうして必要なのか、何を学ぶのかなど、保護者が抱きがちな疑問に対して簡潔に答えています。またプログラミング教育の初歩の初歩を知りたい現場の教師にとってもおそらく有益で、「社会に開かれた教育課程」とか「教科等横断的」など新学習指導要領のキーワードと絡めながら理解することができます。

■石戸奈々子監修『図解 プログラミング教育がよくわかる本』講談社、2017年

基本的に保護者向けに書かれている本ですが、プログラミング教育について右も左も分からないような先生にとってもたいへんありがたい本になるでしょう。たいへん易しく、分かりやすくプログラミング教育の意義が書かれています。上の本は入口に立つまでを扱っていますが、こちらの本は扉のくぐり方まで扱っている感じです。

初心者教員向け

■松村太郎、山脇智志、小野哲生、大森康正著『プログラミング教育が変える子どもの未来―AIの時代を生きるために親が知っておきたい4つのこと』翔泳社、2018年

多彩な著者による、多角的・多面的にコンピュータ教育の現在が分かる本です。学習指導要領の内容やプログラミング教育導入の経緯も分かりやすく示され、「社会科」でのプログラミング教育の指導案も載っていたりするなど、教員にも大いに参考になるだろう本です。

保護者向け

■石嶋洋平著・安藤昇監修『子どもの才能を引き出す最高の学びプログラミング教育』あさ出版、2018年

主に保護者に向けて書かれている本です。単に子どもがプログラミングを覚えるだけでなく、普遍的な能力を伸ばせることを様々な角度から主張しています。
民間コンピュータスクールを推奨している本なので、学校の教師にとってはあまり参考にならない本かもしれません。

■竹内薫『知識ゼロのパパ・ママでも大丈夫!「プログラミングができる子」の育て方』日本実業出版社、2018年

プログラミング教育に限らず、数学教育のありかたなど新時代の教育の方向性が平易に説かれています。
保護者にとっては将来に向けて確かな指針を与えてくれるような内容かもしれませんが、逆に、学校や教師に対して絶望していることを前提に書かれている本なので、学校関係者が読んだら落胆しかないかもしれません。発憤材料としましょう。

小学校教員向け

■小林祐紀・兼宗進・白井詩沙香・臼井英成編著監修『これで大丈夫! 小学校プログラミングの授業 3+αの授業パターンを意識する 授業実践39』翔泳社、2018年

小1~小6までの大量の各教科指導案が示されるだけでなく、実際の授業の展開も具体的に分かり、さらに専門家からのアドバイス等もあって、プログラミング教育をどこから初めていいかわからない現場の教員にとってはたいへんありがたい本でしょう。

上級者向け

■ヘレン・コールドウェル、ニール・スミス『ある日、クラスメイトがロボットになったら!? イギリスの小学生が夢中になった「コンピュータを使わない」プログラミングの授業』学芸みらい社、2018年

イギリスで実践された事例が紹介されている本だけど、日本よりかなり進んでいるので、プログラミング教育の初歩が分かっていない人が読んでもあまり参考にならなさそう。とはいえ、ある程度わかってきたときに読むと、プログラミング教育の奥深さが伺える内容ということでもありますね。

【紹介と感想】『ある日、クラスメイトがロボットになったら!? イギリスの小学生が夢中になった「コンピュータを使わない」プログラミングの授業』

【紹介】プログラミング教育の本です。実際にイギリスで実践された授業の事例が豊富に示されています。特徴は、コンピュータを使わずに授業を行なうことです。
コンピュータを使わなくても、プログラミングに必要な能力は伸びます。たとえば、論理的思考能力や、粘り強くデバッグを行なう忍耐力や、アルゴリズムに関わる基本的な知識(逐次処理や条件分岐、プロシージャの概念)など、コンピュータ無しでも身につけることができます。そしてそれは、単にプログラミング教育だけでなく、ピアジェやヴィゴツキーが言うような、普遍的な認識能力の発展(構成主義)と密接に関連しています。

【感想】多少、上級者向けの本のような気がする。プログラミング教育の基本が分かっていない教師がいきなり本書を手にとっても、何を言われているのか理解するのは難しそう。逆に言えば、基本を理解していると、意味深い実践が行なわれていることに感心するはずだ。

私が驚いたのは、単にアルゴリズムの基礎だけではなく、インターネットの構造や仕組みや実際の働き方とか、あるいはパケットやルーターの概念とか、さらには暗号化の仕組みなど、ネットワークに関する知識を全面的に扱っているところだ。日本のコンピュータ教育はスタンドアローンの範囲で終わっているが、イギリスではネットワーキングこそが本質になっている。コンピュータについて詳しい人ほど、これらの実践に感心するだろうと推測するが、どうか。

ヘレン・コールドウェル、ニール・スミス『ある日、クラスメイトがロボットになったら!? イギリスの小学生が夢中になった「コンピュータを使わない」プログラミングの授業』学芸みらい社、2018年

【紹介と感想】『プログラミング教育が変える子供の未来』

【紹介】保護者向けに書かれた本ですが、学校の教師にとっても役に立つ本です。
本書は主に4つの観点からプログラミング教育を説明しています。
(1)プログラミング教育導入の背景
(2)世界的な趨勢
(3)教材や民間プログラム教室の案内
(4)学習指導要領を踏まえた学校教育での展開
それぞれのテーマを現場経験が豊富な方が執筆しているほか、多彩な顔ぶれの執筆者によるコラムも充実していて、プログラミング教育を多面的に理解することができます。
単にざっくりプログラミング教育について知りたい人にも役に立ちますが、少しつっこんで背景を確認したい人にはさらに意義がある本だと思います。

【感想】プログラミングの知識と技術が「新しいリテラシー」であることがよく分かる内容だった。このリテラシーが今後の社会を生き抜く上で必須であることがよく分かる。

類書と違っているのは、民間スクールの動向に加えて、しっかり文部科学省の姿勢が記述されていることだ。学習指導要領の内容を踏まえ、さらに具体的な教科指導案(社会)が示されているところなどは、他の初心者向解説本にはあまり見られない特徴だと思う。また、プログラミング教育指導者養成の話も、他の本には見られない特徴かもしれない。

そして類書と同じなのは、「プログラミング学ぶ」のではなく「プログラミング学ぶ」という姿勢だ。単なる職業教育ではなく、普遍的な力を伸ばす教育であることは、あらゆる入門書で共通して強調されている。ちなみに本書は、プログラミング教育で育つ普遍的な能力として、特に4点を挙げている。
(1)自己解決力
(2)想像力
(3)自分を信じる力
(4)表現力
この4点は、どれもこれまでの教育ではなかなか育ってきていないと指摘されているものばかりだ。プログラミング教育はいわゆる「活用力」を伸ばす授業を構想する上で、かなり便利な「手段」だと思う。

ただしかし、気になるのは、本書でしっかり指摘されている「格差」の問題だ。他の類書では、この「格差」についてもあまり指摘されることがない。本書はしっかり「格差」の問題を視野に入れていて、ほっとする。
とはいえ、「世界のトップエリート」と「地域で活躍する人材」を振り分ける話は、そう簡単に決着がつく話ではない。その国家戦略が適切かどうかについては、コンピュータ教育の文脈を越えて、教育学固有の問題として我々研究者がしっかり捉えていく必要がある。

松村太郎、山脇智志、小野哲生、大森康正著『プログラミング教育が変える子どもの未来―AIの時代を生きるために親が知っておきたい4つのこと』翔泳社、2018年