プログラミング教育が多くの子どもたちに学ばれるようになってきていますが、どうもその本質は理解されておらず、「プログラミングができるようになること」が目的化しているように思えます。
Contents
保護者はなぜプログラミングを学ばせるのか
なぜプログラミング教育が流行っているのでしょうか?それには大きく2つの理由があると考えます。
(1)プログラミングがこれから必要だから
(2)思考力や創造性などにプログラミングが役に立つから
プログラミング教室に通わせている保護者のみなさんの思いは(1)が強いと思います。一方で、プログラミング教室は(2)を強調するところが多い。
そこで、保護者の思いとプログラミング教室の方針との差異が出ています。
実際、(2)としての価値もすごくあると思うんです。他の教材と比べても。でも(2)だけに逃げちゃダメ。
プログラミング教室は、(1)を求める保護者の思いに真摯に向き合うべきです。
例えば英会話教室で、「外国語を通じて異文化の理解ができましたね!」って言われても、その大切さは分かるけど、「英語をしゃべれるようになる」のかを重視しますよね。
プログラミングはみんなに必要じゃない
なぜプログラミング教室が「(1)プログラミングがこれから必要」を強く前面に押し出さないのか。それは、
- プログラミングは、そこまでみんなに必要じゃない
- プログラミングは、もっと大きくなってからでもいい
からです。そうです。プログラミングはみんなに必要なものでもないし、小学生のうちに徹底してやったほうがいいとも言えないのです。
プログラミング教室を運営している方、特にエンジニアはそれを実感しています。だから強く言えないのです。
プログラミングはテクノロジー(IT)のほんの一部
プログラミングは、アプリやWEBサイトなどを作る工程のうち、指示にしたがって機械語にする工程のことです。
下記記事もご参照ください。
例えば、建築であれば、建築士や設計者がいろいろ考えたものを最後に工事します。その工事のプロセスがプログラミング。
プログラミングができる=なんでも作れる、ではありません。
もちろん、好きな人はどんどん学べばいい。とても面白いものだし、僕は好きです。プログラミングを学びたい子は全力で応援しますし、アルスクールはそれにどこよりも応えられる自負はあります。
でも、プログラミングを突き詰めることは、みんなに必要なものではありません。
大切なのはテクノロジーに強く、使いこなせること
プログラミングでないなら、これからの社会に何が必要か?プログラミングという言葉を使うから難しくなるんです。本当に保護者のみなさんが期待しているのは次ですよね。
テクノロジーに強くて使いこなせるようになってほしい
テクノロジーの必要性はいうまでもないでしょう。プログラミングはテクノロジーの中のほんの一部です。例えばAIを作れなくても、AIを使った革新的なサービスを考えられたらワクワクしますよね。
(※「テクノロジー」は、科学技術全般でなく「情報処理やコンピュータ関連の科学技術」という意味で使います。)
もちろんプログラミングを適切に学べば、テクノロジーに強くなれますが、目的を見誤ってはいけません。そこには大きな違いがあります。
何が違うのか?
プログラミングの習得を目的化すると、テクニック(*)を単に暗記して何となく使えるようになる学習になりかねません。
(*) 条件分岐、繰り返し、変数、配列、関数、非同期、例外、などなど
難しそうなゲームやアプリを、大人の指示に従って、なんとなくテキストに沿ってできるようになる。大人が考える答えがあってそれを探す。そういった学習方法では、「テクノロジーを理解して使いこなせる人」ではなく、そういう人たちに指示されて「単に指示されたものを作るだけの人」になってしまいます。
プログラミングのスキルを高めるのではなく、テクノロジーに強くなるための学習。発育や算数の理解を考慮せずに、無理に小学生にテクニックを覚えさせる必要はありません。
プログラミングが好きでもっと学びたい!というお子さんにしても、テクノロジーの概念を理解した上で先に進まないと行き詰まります。ただ、好きで学んでいる子は、暗記ではなく主体的にいろいろ学び、仮に教室が変な教え方をしていても、自分で補正できるから大丈夫だとは思います。
テクノロジーに強くなり使いこなすために
ではテクノロジーに強くて使いこなせるようになるにはどうしたらいいか?
テクノロジーの中核は、コンピュータの情報処理能力(計算能力)です。必要なのは、コンピュータの特性を理解し、情報処理能力を問題解決に効果的に使う思考力です。
- コンピュータは何が得意で何が苦手か。
- 何ができて何ができないのか。
- 障害のリスクや不具合での暴走をどう考慮するか。
- 効果的に計算をさせるにはどういう方法を取るべきか。
- 本当に正確な回答が必要なのか、近似値でいいのか。
- 計算の速さ、正確性、マシン価格などトレードオフから最適解をどう選択するか。
そういう特性を理解し、問題解決にどう活用するか思考する力が必要になってきます。
※「テクノロジーを使わない」という選択ももちろんありえます。
なお、そのような思考を計算論的思考といいます。下記記事もご参照ください。
小学生・中学生のうちにできること
ではテクノロジーに強くなるために必要なことはなんでしょうか?僕は下記と考えています。
テクノロジーに慣れ親しむ
キャプテン翼の「ボールは友達」のように、デジタルデバイスに触れたりいじくっていると、センスが身に付きます。子どもは使いこなすの、早いですよね。感覚として刷り込む。スーパーエンジニアは小さい時にコンピュータや機械で遊びまくっていた人が多いと思います。
コンピュータ(情報処理)の動きを感覚的に掴む
コンピュータはどうやって動くのか、それを感覚的に掴むことで、何ができて何ができないのかなど、特性を感じやすくなります。プログラミングはコンピュータを動かすものなので、この理解に役立ちます。「コンピュータってこう動くんだ」「これは苦手なんだ」というような感覚を意識して学びましょう。
できる範囲で創意工夫する
コンピュータやプログラミングで何でもできるわけじゃない。でもうまく活用したらおもしろいことができる。コンピュータとうまく付き合って創意工夫するセンスを養いましょう。子どもはすごくて、「そういう使い方、遊び方あるの?」って驚かされること、多いですよ。
学びの可能性にワクワクする
テクノロジーの進化は凄まじく速いです。テクノロジーに強い人は、「もっと学んでいろんなことがやりたい!」という気持ちが強く、学び続けています。脇道に逸れてもいいので、興味に従って学ぶことで、学びたい気持ちを育みましょう。
テクノロジーに敏感な時期を逃さない
例えば小さいライトを光らせるプログラミングで、「お!光った!!」と面白がり興味津々な年齢と、「小さいライトが光るだけ?」と感じる年齢とあります。お子さんによりますが、8-9歳前後で後者から前者に変わるでしょうか。その変わるタイミングにプログラミングや電子工作で遊んでいると、急速にテクノロジーへの理解が成長するように感じます。
まとめ
将来、お子さんに必要なのは、「テクノロジーに強くなって、使いこなせること」です。「プログラミングができるようになること」ではありません。
プログラミングは、その目的を間違えずに学べば、非常に有効な手段です。ただ、目的を間違えて、ただドリルを解くかのようにプログラミングを暗記をしても、効果は小さいし、状況によっては悪影響です。
「プログラミングってこんなものなのか、もういいや」と感じたり、ただ暗記するのが辛くて嫌いになったり。算数を苦手になる子が多いように、学び方によってはプログラミングも同じことになりかねません。
もちろん、お子さんがプログラミングが好きで学びたいのであれば、スキルに特化したスクールはとてもいいと思います。目的に合わせて考えましょう。
プログラミング教育自体は(コンピュータ・サイエンス教育と呼ぶべきだと思いますが)、本質・目的を間違えなければ、とても意味があることだと思っています。
ぜひ、プログラミング教育の発展のためにも、そしてお子さんの未来のためにも、教室側も保護者のみなさんも、本質を考えていただけると嬉しいです。
キッズプログラミング教室【アルスクール】では、オンラインで学べるでプログラミングレッスンを行っています。
実際のレッスンに参加できる無料体験で、一度アルスクールの学びを体験してみませんか。
また、実際の教室でもレッスンを行っています。
- 東京にお住まいの方 → 自由が丘校、中野校
- 大阪にお住まいの方 → 大阪南千里校
- 福岡にお住まいの方 → 福岡西新校
教室での無料体験レッスンをご希望の方は、こちらをご覧ください。