目次
プログラミングスクールの実態とお勧め
プログラミングスクールに通わせた方がいいのか
IT教育が学校でも取り入れられるようになり、国をあげてIT化に適応した人材を育てようとしていますね。
そのため、プログラミングを掲げた塾もどんどん登場しています。
最近ではオンライン授業で行うところも出てきましたね。
中学受験で扱おうという学校もちらほら。
しかし、実はほとんどのプログラミング教育が、流行りに乗っているだけで、中身がないのです。
全てというわけではありませんが、9割が便乗商法に過ぎないと言って間違いありません。
学校ですら、本質を欠いているものがほとんどです。
今回はその実情についてお話したいと思います。
プログラミングが始まった理由
これは非常に単純な理由で、日本が世界の中でIT化に遅れを取っているためです。
身の回りの電化製品を思い浮かべてみましょう。
- スマホはどこのメーカーですか?
- パソコンはどこのメーカーですか?
- テレビ、エアコン、冷蔵庫といった家電メーカーはどこですか?
- SNSは何を使っていますか?
これらメーカーや会社は一時期日本が一世を風靡していましたが、現在は海外にシェアが奪われてしまっています。
自動運転にしてもそうです。
海外の方が進んでいるイメージがあると思います。
これらの原因は、日本にパソコンを扱える人、エンジニアが少ないということなのです。
だから小さい頃から触れさせることで、IT人材を確保し、今後のIT化に遅れを取らないようにしようという政策なのです。
IT人材が少ないのはプログラミング教育をやっていなかったせいではない
ここで重要なのは、そもそもなぜIT人材が少ないのかということです。
いかにも世界では盛んだから日本も遅れを取らないようにみたいな印象を受ける政策ですが、導入が遅かったせいではないんですね。
確かにオンライン授業の導入に関しては、日本は後れを取っていますが、その遅れの原因は制度改革が遅いせい。
そして根本的に理系の教育が弱かったせいなのです。
ゆとり教育が始まり、理系の負担が重いということで学習内容が次々と減らされていき、その結果理系の大学を志望する人が激減。
その結果、高度なレベルでパソコンを扱える人材が減ってしまったのです。
今も高校のクラスの割合を見て頂ければお分かりになると思いますが、圧倒的に文系が多く、理系クラスは数クラスしかないという学校が少なくありません。
今の子は学校ではなく、個人でオンライン授業を受けるのも当たり前になっていますし、触れる機会が少ないなんてことはないんですね。
つまり、もはや制度の問題ではないのです。
幼少期のプログラミング教育は、おままごとと同レベル
とりあえず小さいことから触れさせることで抵抗を少なくしようという政策ですが、はたして本当にIT人材の確保につながるのでしょうか。
意味がない、とまでは言いませんが、ほぼ意味がないのが現実です。
現在学校で行われているのはプログラミングもどきなんですね。
オンライン授業のスクールなんてもっとひどいですね。
無知を集めてお金を貢がせているだけです。
これをやったからといって、ITに強くなれるわけではありません。
おままごとのようなものです。
おままごとというのは、子どもが料理を作る真似事をするお遊びで、イメージをつけるという意味では一役買いますが、おままごとがうまいからといって料理がうまくなるとは限りません。
また逆に、おままごとをしていなかったからといって、料理が下手、できないとも限りません。
なぜならおままごとは料理に直結していないからです。
おままごとをする年齢は幼稚園から小学校低学年程度まで。
その頃まではおままごとからリアルな料理にも興味を示すきっかけになるかも知れませんが、そのままリアルな料理の世界に入る子は実際には少なく、ほとんどの子が他の遊びや勉強へと移っていきます。
そして中学、高校と、ほぼ料理と触れないまま大人になり、必要に迫られて料理をする。
この頃には既におままごとの記憶なんて忘れているので、おままごとの経験があるかないかはほとんど関係なくなっているのです。
それゆえ、おままごとをやっていた子とやっていなかった子を比べても、料理の質には大した違いはありません。
プログラミングも全く同じ現状なのです。
いまSEをはじめとする、パソコンを必要とする仕事についている人の内、幼少期からプログラミングに触れていた人はごくわずか。
ほとんどが社会人になってから、必要に迫られて学んだ人たちばかりです。
よって、おままごとではなく、リアルな生活で使えるレベルにしたければ、やるべきことは1つ。
経験を継続させることです。
小学校、中学校、高校と料理を続けてきている子はさすがに料理がうまくなります。
こういった子の大人になったときの料理は、料理をやり始めた子と比べてクオリティも手際の良さも全くことなっていることが多いのです。
だから、これをきっかけとして自主的に続けていかなければ意味がないのです。
家庭科の授業で料理や裁縫に触れても、大人になって「なんかやったなぁ」と言っているのと同じになってしまいます。
本当に学ばせておくべきこと
先生はいらない
今の実情は、与えられたツールを使って命令を作成し、命令通り動くことを確認する、そして自分が動かしたいように動かすだけなのです。
よく「プログラミングの基礎を学べる」とか「命令を構築する技術が身につく」といった触れ込みを目にしますが、すでに答えが決められている、結果が分かっている世界でのプログラミングの構築は、発展性もなく、言われた通りに作り上げる技術しか身に付きません。
多くのプログラム言語に触れさせようとして、様々な経験をさせているという方もいらっしゃいますが、それらも扱っているものが違うだけで、枠内に収めるという域から出ることもないため、プログラムを作るという事に関して言えば、ほぼ意味がないのです。
例えば学校でも用いられている授業の1つに、自分でメロディーを作るというものがあります。
これはまず最初に先生が動かし方を説明し、動かし方の基本を学びます。
次に自分たちでメロディーを作って動かしてみるという経験をさせます。
メロディーを作る過程で「何を何秒間鳴らす」と言ったプログラミングの構築技術が学べますが、「メロディーを作る」という枠内からは抜け出せず、さらに構築も言われた通りの手順で行えば簡単にできる仕組みになっているため、ピアノをたたいて音を出すのと何ら変わりがないのです。
また、ロボットを動かすというおもちゃも流行っていますが、これもどうやったらどう動くという命令の構築の仕方を教えられるところから始まり、マニュアル通り作って動作を確認しているに過ぎません。
思い通り動かすところに命令を構築するスキルが問われそうな気もしますが、これも構築自体の負担は軽く、子ども達は「どう動かすか」に頭を使っていることが多いのです。
トライ&エラー
プログラムを作ったことがある方ならご存知だと思いますが、エンジニアの本質は、エラーとの戦いです。
こうしたいと思ってプログラムを作っても、一発で思い通り動くことはほぼありません。
万全を期したつもりでも。何かしらの見落としたバグがあるものなので、それを1つ1つ修正して理想に近づけていくのです。
ゲームのバグをひたすら探す仕事があるというのをご存知の方もいらっしゃると思いますが、プログラマーやエンジニアにとって、リリース後のバグは致命的なのです。
みずほ銀行がシステムを変えるたびに大規模障害を発生させていましたが、これもシステムの構築そのものよりも、エラーを取り除けなかったことが問題だったのです。
そのため、もし本当にIT人材を育てようとするならば、にわか仕込みのプログラム作りを練習するよりも、なぜ思い通りいかないのか、どうしてこのような結果になっているのか、何度も試して何度も失敗する、こうしたトライ&エラーの繰り返しを学ばせることが重要なのです。
プログラムを作れることよりも、検証して修正しての繰り返しを行える子の方が、本質的な技術としては上なのです。
プログラミングである必要は全くない
学校でプログラミングの授業があるからといって、塾に通わせているご家庭が増えておりますが、トライはともかく、エラーがない、もしくはエラーから学ぶことが少ない授業では、本質的には意味がないのは先に述べた通りです。
ではなにいいのかと聞かれるのですが、私はそもそもプログラミングである必要はないと考えています。
例えば日常の手伝いの1つを完全に任せて責任を持たせる。
お風呂掃除をしている子が多いようなので、お風呂掃除を例に考えてみましょう。
お風呂掃除はただ何も考えずにパパっとこすって水を流して排水溝のネットを交換するだけの子も少なくありません。
もちろんこれはこれでいいのですが、これではルーティンワークになってしまい、発展性がありません。
ここでタイルの汚れを落とすにはどうすればいいか、鏡についたウロコを落とすにはどうすればいいか、こういったことを子ども自身に考えさせ、失敗させるのです。
あれこれ考えて試して目的を成し遂げる。
これはあらゆるエラーが予め想定され、すでに完成された中でしか操作ができない仕組まれた教育では学べないのです。
ウォシュレットの水が止まらなくなったという事件で考えてみましょう。
同じオンライン授業なら
オンライン授業におけるプログラミングの実態がちょっと酷いので、あえてオンライン授業で学ばせるなら、という視点で書いておきます。
本当にガチの言語を学ばせるなら、オンライン授業は使えます。
職業にするレベルの話ですね。
しかし、学校の授業の補完を考えているレベルなら、他のオンライン授業の方が余程役に立ちます。
例えば、オススメなのはオンライン英会話。
プログラミングと英語は切っても切り離せません。
よって、英語ができることは、そのままITにも通用する技量を学ぶことにつながります。
なので、どうせやるならそっちの方が有意義です。
やるなら、せめてオンラインではなく、プログラミングスクールへ通う方にしましょう。
その方が学べることが多くなります。
ちなみに、中学受験における出題は、現在のところほとんどがシステムを動作させる流れに関する部分を、中学受験の算数用に変えた問題が多くなっています。
つまり、知らなくても解けるようになっているということです。
そのため、スクールに通わせるよりむしろ、規則性の勉強をしっかりやらせておく方が有益でしょう。
思考自体は日常から学べる
ウォシュレットが壊れて、水が止まらなくなりました。
どうすれば水を止められますか?
こういったときに役立つのは、IT教育で習ったことよりも、ラテラルシンキングです。
そもそもどうやって止めているのか、止めるにはどうしたらいいのか、様々な視点から考えることは命令を構築するプロセスとほとんど変わりがありません。
便座に座る
↓
スイッチかセンサーで座っていることを検知する
↓
この状態でウォシュレットのスイッチが押されたら水を出す
↓
止めるボタンを押したら水を止める
そして水が止まらなくなってしまった原因を考えると、
- 水を止めるスイッチが壊れた。
- 水を止める装置が物理的に壊れた。
- 水を止めるスイッチから命令を送る装置が壊れた。
- 水を止めるスイッチから命令を受信する装置が壊れた。
- 回路がショートして、送っていない命令が送られてしまった。
このように様々な原因が考えられ、止まらなくなった水をどう止めるかに関しても、
- 便座から立ち上がる。(人が座っていることを確認するスイッチを切る)
- 鏡で人勧センサーをそらす。(人が座っていることを確認するセンサーを無効化する)
- 水の流入を止める。
- 電源を落としてモーターを止める。
といった手段が考えられます。
これらを考えている時間はまさにプログラミングでトライ&エラーをしているのと同じなのです。
よって教室に通う必要など全くなく、日常生活で物事を解決していくプロセスで、十分基礎的なことは学べてしまうのです。
ちなみにこの下の写真は、卓上掃除機を分解したものです。
オンライン授業で教えていた時のものですが、こんなものでも題材になってしまいます。
IT教育よりも、今学ぶべきものが何なのか、をしっかり考えるべき
IT教育を受けさせることが全く無駄だとは言いませんが、安直に選んだ便乗商法では学ぶことが少ないのです。
ではどうするか。
ここはやはり本質に帰るべきではないでしょうか。
結局トライ&エラーは教室ではなくても学べますし、そもそもIT人材の確保に苦労するのは、理系人口自体が少ないことに大きな原因があるのです。
そして理系と流行りのITにはなんら関連はありません。
結局は数学・理科ができるかどうか、で文系理系を決める人がほとんどですから。
よってIT教育を行ったからといって理系になるとも限りません。
理系人口を増やしたければ、やはり理系の考え方を学ぶ場、学ぶ時間、触れる時間を増やしていくべきなのです。
そもそも理系ができなくなってしまった原因は、思考力を奪って公式に当てはめ、言われた通りに解く解き方が蔓延したためであり、早く正確に点数を取ることを目的として、教育そのものが極端に効率化されてしまったことに大きな要因があります。
つまり、もしITに強くしたければ、システム化された理系ではなく、本質的な理系の勉強をさせるべきなのです。
結果的に本質的な理系を学んだ子は、大学、もしくは社会人になって必要になった時に初めてプログラミングに触れても飲み込みが早く、遅れを取ることはほとんどないのです。
私の教え子にはgoogleやyahooのエンジニアもいますが、彼らも決して小さい頃からプログラミングに触れていたわけではありません。
通常の勉強や生活を通じての勉強を通じてトライ&エラーの素地を鍛えていたから、優秀なエンジニアになれたのです。
それでも子どもは勝手に興味を持つ
理想をいくら掲げても、現実的に今の親世代で理系が少ないのは事実。
そして親が理系嫌い、理系を避ける様子を見せると、子どもも理系を避けるようになるのも事実。
そして学校における理系指導は変わりつつあるとはいえ、まだまだ本質的な意味での浸透には時間がかかる様子。
つまり、悠長なことを言っている間に技術はどんどん進み、諸外国の技術に日本が追いつけなくなってしまうのです。
そのため、起爆剤的な役割としてなら、効果がある可能性は十分あります。
なぜなら、10人いれば、1人ぐらいプログラミングの本質を自ら学ぶ子がいるからです。
そしてこういう子は大抵先生の話をろくに聞かずに自分で勝手にいじりだしてしまう子。
学校というルール的にはよろしくありませんが、トライ&エラーという意味では、IT教育の本質をついた学び方なのですね。
そして言われた通りに学ぶ子も、本質はズレていても、命令を作り上げた先にある結果、動作には興味を持つ子が多いのです。
何でもそうですが、思い通りにいくと気持ちいいですからね。
そこで最後に、本質を学ばせることができる指導とはどういうものかをご紹介したいと思います。
実は同業者の方々にも導入し始めたところが増えて来たのですが、私が一般的なIT教育の在り方に否定的だったため、「切替先生ならどうするの?」と言われておりました。
この度それを実践しましたので、ご紹介したいと思います。
リアルな世界にIT教育を持ち込む
先程お話した通り、プログラミングの本質はトライ&エラーです。
これを学んでいる子は、自前でスクールに通わなくても、学校程度のプログラムなら簡単にこなしてしまいます。
最もこういう子は先生の話を聞かずに触りだしてしまい、成績としての評価は低くなってしまう可能性がありますが、プログラミング教育の本質を理解している先生であればそんなことはしないでしょう。
実際にファイでもプログラミング教育を行ってみました。
その時の様子をお話したいと思います。
用意したのはSONYが出しているMESH(メッシュ)という教材です。
これは大きめのレゴブロックのようなものがいくつかと、タブレット、もしくはスマホを利用する教材です。
ブロックにはそれぞれ役割があり、人感センサーを搭載したもの、明るさを検知するもの、動きを検知するもの、光るもの、スイッチになっているもの、温度や湿度を検知するもの、といった様々な役割のブロックがあります。
これらを組み合わせることで、目的に合わせた動作をさせる教育になります。
例えば人が来た時に来訪を知らせるセンサーを作ると言った場合、人感センサーに反応があったら音を鳴らす、といったものが作れるのです。
ちょっと回路をつくる技術が必要ですが、ある温度になったらエアコンのスイッチを入れるとか、暗くなったら電気をつけるとか、身近の「あったらいいな」を組み合わせることで作り上げることができるのです。
MESHの素晴らしいところは、画面の中だけで完結しない、そのプログラムだけでは完結しないところです。
リアルな世界との融合を考えられるところに、他にはない強みがあります。
もっと言ってしまえば、身近な生活の全てをプログラミング教育の題材にしてしまうことができるツールなのです。
口を出さずに好き勝手やらせることこそ最高のIT教育
さて、このMESHを使ってファイではどのように学ばせたのかと言いますと、実は完全に放置です。
与えただけで、全く関与していません。
使い方も一切教えていません。
最初の設定から全て子どもに任せ、完全に放置。
通常スクールでは、「はい、ではまず〇〇をしてみましょう」から始まりますが、私はこれが間違っていると思うのです。
興味さえ引き付ければ、子どもは勝手に学びます。
トライ&エラーにさえ持ち込めればいいのです。
実際与えて放置したらどうなったかお話しましょう。
SONYのMESHを用いた実例
今回紹介するのは中学受験生が扱った時の様子です。
「何これー?どうやって使うの?」
「先生もわからん。わかっているのは,面白いことができそうだということだけ。好きに使っていいよ。」
早速子ども達は開け始め、色々といじりだしました。
説明書は読みません。
いきなり触り出すのです。
これが子どもです。
ところがここであることに気付きました。
私もすっかり失念していたのですが、一番最初に充電が必要だったのです。
子ども達はこんなことを話し始めました。
「全然反応しない…」
「壊れてるんじゃない?」
「開けたばかりなのに全部壊れてるってことはないでしょ。」
「じゃあ何で動かないんだろう。・・・ねぇ、これってスマホを充電する穴じゃない?」
「あ,ほんとだ。もしかしてこれ充電してないんじゃない?」
「ねぇ先生、これ充電した?」
「や,何もしてない。充電必要なの?」
「多分。説明書見てみる。」
ここで初めて説明書を開き始めました。
そして、
「やっぱり充電が必要だって!」
「そうか、じゃあ充電コード持ってくるよ。」
「7個もあるから沢山持ってきてね!」
「え!?そんなにケーブル持ってないよ!?」
とりあえず3本見つけたので、持ってくると・・・
「ねぇねぇ。1つ充電するのに約1時間だって。」
「てことは3本しかないから全部充電するまでに3時間か。」
「帰る時間になっちゃうね…もー先生、しっかりしてよー!」
こんな感じでいきなり生徒に怒られました(^^;
でもこれがかえって良かったのか、何もできないから説明書を見ておこうという流れになって、みんなで説明書を読み始めました。
そして、
「これ面白そう!これ作ってみたい!最初にこれ作ってみよう!」
という感じで、人が入ってきたら「こんにちはー!」と挨拶を流す装置を作ることになったようです。
ちなみにこの日、実は充電の3時間を待たずにこの装置を作ってしました。
1時間後位ですね。
さてどうやったのでしょうか。
こういう思考法をラテラルシンキングと言います。
思い通り動かない。だから考える。
実はこの間にもなかなか思った通り動かず、紆余曲折があったのですが、私が直接手を出したのは、スマホの調子が悪かったので再起動をしたことと、設定の途中でスマホが求めた保護者の許可をしたぐらいです。
いずれもスマホにロックがかけてあったので、子どもだけではできなかった部分です。
そして最初の充電。
それ以外は完全にノータッチ。
というより、子どもたち自身も完全に手詰まりにならない限り私の所に持ってきません。
普段の授業からそもそも自分で解決させてきているので、聞くことにあまり期待していないというのもあるかも知れませんが、楽しいものは自分で解決してしまうのです。
大人向けの説明書(先生用の解説書)を読んででも、です。
そして充電に際しても、「もっと容量の大きい充電器はないのか」とか「コンセントを増やせ」だとか注文をされました。
そして
「満充電にしなくても、30分ぐらいで半分充電すれば使えるだろうし、使いたいやつから優先して充電すれば1時間でできる。」
といった話が出ました。
これが1時間で作り上げてしまった秘密です。
まさにラテラルシンキングですね。
こういった思考こそ、IT教育を通して学ぶべきことなのです。
そして、この思考は中学受験でも使えますよ。
さて、人を検知して挨拶をするシステムが完成したところで満足するかと思いきや、
「夜になって『こんにちは』っておかしくない?」
と言い始めて、明るさセンサーを組み合わせ、明るければ「こんにちは」、暗ければ「こんばんわ」と声をかけるように改良していました。
さらに声だけだと味気ないとかで、ライトを光らせるように組み合わせて…
帰宅時間の関係もあったので残念ながらここで打ち切りましたが、放っておけばずっと遊んでいると思います。
そうすれば勝手に学んでくれるのです。
そして思考力も勝手につけていき、問題を解決する力もつけていきます。
ファイの子はなぜ勝手に学んでいくのか
もちろんこれには「ファイの子だからできた」という意見もあります。
しかし目の前にあるものに興味を持ち、自分で解決する力を身につけさせたという以外、何もしていないのです。
そのため、ファイの子だからできたのではなく、ファイの子にはその素地が備わっていただけで、誰でも同じように学ぶことはできるのです。
大切なのは手取り足取り学ばせることではなく、失敗して学べる環境を作ってあげることではないでしょうか。
IT教育も同じです。
下手に人気にあやかって開校したプログラミングスクールに通わせるぐらいなら、好き勝手遊ばせる方が、質の高い教育になります。
結局決められた枠を出ることができない教育では、本質的なことなど全く学べないのです。
これは、中学受験の詰め込み教育にも同じことが言えますね。
本当に大切なのは何をするかではなく、どんな失敗を経験させ、何を学ばせるか、です。
流行りやあおりに踊らされて、本質的な勉強、本来するべき勉強をおろそかにしないように十分注意して下さいね。
ファイで実際に使っているSONYのMESHはこちらで購入できます。
やらせようとせず、子どもが勝手に遊びだすように仕向けてあげて下さい。
そうすれば勉強でも使える思考力が養えますよ(^^)
このGPIOキットはMESHのセンサーで感知したものと連携して動作させるためのものです。
MESHの7つの本体だけで十分楽しめます。
多少回路の知識が必要になるので、楽しんでいるようなら後から追加で構わないでしょう。
ちなみにファイでは消耗品だと割り切り、「壊してもいいから気にせず好きにやってみろ」と話しています。
壊しても怒られないとわかれば、子どもはあれこれ試して勝手に解決策を見つけてきます。
本当に壊されると、懐は結構痛いのですが(^^;
ファイではオンライン授業にてプログラミングの授業はしていません。
しかし、学び方の一環として、プログラミングに関するお題やアドバイスはしています。
例えば、塾生がロボットを作り、動かす、そのプロセスにおいて、学び、解決する力を養うサポートをしてます。
「こんなことさせてみたらどう?」
「こういうの作ってみてよ!」
という感じで、自分で解決していくためのサポートをしています。
これなら子どもが興味あるものを買ってきて、遊んでいるだけで学べてしまいます。
ベースは学習法の指導なので、あくまでその一環としてのアドバイスにはなりますが、子どもに勉強して欲しいと思っていて、プログラミングにも興味があるという方にはオススメです。
お子様の学習状況を調べる、学習法診断も行っておりますので、中学受験をお考えの方は、是非ご利用下さい。
「小学校でもプログラミングの授業が始まりましたが、我が家は両親共に文系で、パソコンとは全く縁のない家です。こういう場合、小さいうちにスクールに通わせた方がいいのでしょうか。また、家の近くにも次々とできてきており、どれを選んだらいいのかもわかりません。アドバイス頂けたら幸いです。」
受験なし・塾なし 小3母