2020年度から、小学校でのプログラミング教育が必修化されましたね。
けれど、親の世代は同じ授業を体験していないため、「実際に何をやっているの?」「それは本当に必要なの?」と、そもそもイメージできないのではないでしょうか?
えっ、プログラムなんて凄そうなことを小学校でやるの?
カワスケ、学校でパソコンを使ってるの?
パソコンは使ってるよ!
でもプログラム?ってのをやってるかはよく分かんない
学校での話を子どもに聞いてみても「何をしてるんだろう?」と伝わってこないことが多いと思います。
では学校でのプログラミング教育って、一体何を教えているんでしょうか?
実は、学校で教えているのは「プログラム」を作ることではなくて、
「プログラミング思考力」なんですよ
プログラムとプログラミング思考力ってどう違うの???
ここが難しいところですよね。それでは、まずは「プログラム」と「プログラミング思考力」の違いを知っていきましょう。
プログラムって何だろう?
そもそも、プログラムってのが何か分からないのよね……
プログラムというのは、コンピューターを動かすための文章です。
コンピューターは自分で考えることはできませんから、事前に人間が「こうして、次にこうして、最後にこうしてください」「こういうパターンの時は、こう動いてください」と指示を全部書かなくてはなりません。この文章がプログラムです。
普通はアルファベットを使った英語に近い形で書かれています(C言語やJavaなど色々ありますので、プログラマーは仕事に応じて各種言語を覚える必要があります)。
現代では、パソコンを使ってプログラムを作り、機械にそれをインプットしています。
では、そんなプログラムがどう使われているか、簡単な例を見てみましょう。
炊飯器のプログラムの働き
- 「炊飯」ボタンが押されたら、炊飯プログラムを実行する
- 炊飯プログラムの中身…一定時間の加熱、蒸らし、停止するタイミングなど手順を最初に決めておく
- 「保温」ボタンが押されたら、保温プログラムを実行する
- 保温プログラムの中身…炊飯器を指定された温度に保つ
(これはあくまで考え方の例です。美味しいお米を炊くためのプログラムはもっと複雑です^^)
ボタンを押すだけでご飯が炊ける炊飯器ですが、炊飯器自体が「こうすれば美味しいご飯になる」と考えているわけではありません。
ただ、ボタンを押すと指示された「時間」「温度」などの設定が実行されるだけなのです。
つまり、プログラムを作っている人が、「何をどういう順番で実施するか」「何度まで加熱するか」「何十分蒸らすのか」などの「美味しいお米を炊くための情報」を調べて文章として入力しています。
プログラムとは、
- Aボタンが押されたらコレをする
- Bボタンが押されたらコレをする
- 何かおかしいことがあったら、画面にこのエラー文章を表示する
など、全てのパターンが網羅された文章の集合体なんです。
全てのパターンを作るのって、すごく大変なんじゃないの…?
実はそうなんです。
プログラムを作るとき、プログラマー(プログラムを作る人)は、何があっても大丈夫なように、成功、失敗含めあらゆるパターンを入力しているんですね。
炊飯器は家電としては比較的単純な動きをしているように見えますが、中にはたくさんのプログラム(命令文)が入っています。
え~、学校じゃこんなことやってないよ!
そうなの?
こういう「プログラム」は専門で勉強する学校もありますね。
でも、小学校で教えているのは「プログラミング思考力」ですから
なるほど。なんだか違いがあるってことは分かってきました
では次に、プログラミング思考力について知っていきましょう。
プログラミング思考力って?
プログラミング思考力というのは、簡単に言えば、プログラム(コンピューターへの命令文)を書くことではなく、「何をコンピューターにやらせればいいのか」を考えることです。
ではまた、炊飯を例に見ていきましょう。
今度は炊飯器ではなく、お鍋でお米を炊くパターンを考えてみます。
炊飯をプログラミング思考で考えてみると……?
- 「開始」の指示が出たとき
- お米を「a合」洗う
- お鍋にお米を入れる
- お鍋に「a合」に対応した水を入れる
- お鍋に火をつけて、中火にする
- 沸騰したら、吹きこぼれないように弱火にする
- 水が少なくなったら強火にする
- 水が完全になくなったら火を止める
- b分間蒸らす
- 蒸らし終わったら完成、手順終了
さっきと全然違うね。
ボタンを押したらこう動く、っていうのじゃないね
こういう炊き方なら、私だってできるけど……
そうですね。お母さんは炊飯器を作れませんが、手順を知っていればお鍋でお米を炊けますよね。
プログラムは、炊飯器のこのボタンを押すとコレ、というパターンの集まりですが、
プログラミング思考は炊飯するときの順番ややり方など、「どう指示するか」を考えるものなんです
むむ。なんとなく・・・
学校で教えてほしいのはこっちだって分かります!
このように、小学校ではプログラムを作ること(コンピューターに対する命令文をアルファベットで書くこと)を教えているわけではありません。
何をどうすれば、求めている結果が出るか、順序だった考え方を鍛えよう、というのが「プログラミング思考力の教育」なんです。
美味しいご飯を炊くためには、
- 何を準備して
- どの順番で
- どのくらいの時間作業するか
を自分で考えていかなくてはなりません。
普通は
「お鍋を用意」→「お米を用意」→「水を入れる」→「火をつける」
ですが
「お鍋を用意」→「水を入れる」→「火をつける」→「お米を用意」
だと間違いですよね。こんな風に、正しい手順、正しい考え方を身につけていくのがプログラミング思考力です。
意外と身近なところで、プログラミング思考力は役に立つんですよ
え、そうなんですか?
たとえば、これだとどうでしょう?
○ 足し算を覚えてから、引き算を覚える
○ 足し算を覚えてから、かけ算を覚える
× かけ算を足し算より先に勉強する
× 割り算をかけ算より先に勉強する
これは当然ですよね。
でもこれがプログラミング思考なんですか?
基礎から積み上げないと、次の段階に進めないという例ですね。
この場合は分かりやすいですが、応用でたとえば受験生になったとき、何から勉強すれば良いかを判断する力になるはずです。
もっと進めば、何かを研究するときに「基礎を押さえておかないと、応用はできないから、基礎から始めよう」とスムーズに考えることができますよね
あ! 学校で教えているのは・・・
「正しい考え方を身につける」ってことなんですね!
ホントはそんな難しいことやってたんだ~。
学校では楽しくパソコンを使ってるよ
そうなの?
そうなんです。プログラミング思考力は、
最初はゲームを楽しむ感じで勉強できるんですよ
なーんだ。
難しすぎてカワスケが泣いちゃうかと思ったけど、そんなことないのね
ぼく、泣かないよ~
このように、小学校のプログラミング教育が必修化では、子どもたちが授業においていかれるほど難しいことをやるわけではありません。
ただ、「考え方を学ぶ」形ですから、子どもによっては「難しい」と感じたり、逆に「物足りない」と思うこともあるかもしれません。
まずは、このサイトの無料ドリルに挑戦してみて、プログラミング思考に慣れておくことをオススメします。今すぐドリルをやってみるなら、下記をクリックしてください。
もっと詳しく小学校や中学校で学ぶプログラミング教育のことが知りたいと思ったら、こちらの記事どうぞ。
さらに、高校で学ぶプログラミング教育のことはこちらの記事に書いてありますので合わせてどうぞ。
プログラミング思考力を鍛えるメリット
ここまでをまとめてみましょう。
・プログラミング思考力とは、「意図した動作」を引き出すための、「正しい処理手順」を考えられること
・プログラミング的思考を身につけることは、論理性を身につけること
小学校で教えているのは、まさにこれなんです。
教えていることは分かったけど、それって子どもに必要なの…?
実は、とっても大事なんですよ
プログラミング思考力で身につくこと
- ものごとを順序立てて考える
- 要素を読み解いて、それぞれの関係を捉え、分析する
- 自分で手順を考えて作り出す
- 間違っている部分を見つけて、修正する
パッと見ても将来、社会人として仕事をしていく上で必要な能力ですよね。
このように、思考力、創造力を身につけることが、プログラミング思考力を身につける目的になります。
「最近の子は考える力が足りない」なんて言われることもあります。
確かに、分からないことは検索すればすぐに出てきますし、自分で意見を考えなくても、色んな問題に対して色んな意見がインターネットを検索するだけで見つかります。
モノだって、「自分で作るより買った方が早い」「探せばある」ということで、自分で作ってみる機会は減ってきていますよね。
なので「自分で考える」「自分で想像する」というチャンスがそもそも子どもたちには少なくなっています。
けれど、こんな話も聞いたことがないでしょうか?
将来は、人間の仕事をAIがとっちゃうって聞いたけど……
うちの子の仕事ってあるのかな……?
実際に、AI(人工知能)はどんどん進化して、単純作業はなくなっていきます。
たとえば、昔は駅ごとに駅員さんがいて切符を売ってくれましたが、今は自動券売機と自動改札になって無人駅も増えましたよね。
レジに人がいない無人レジもたくさんありますし、電話で問い合わせをしたら自動音声で案内されてボタンを押すだけで用事が終わった、なんてこともあるはずです。
こんな風に仕事がAIが肩代わりしてくれる世の中で、人間は何をすれば良いでしょうか?
それこそ「自動改札・無人レジを作る人になる」、「AIを使いこなして仕事をする」、「AIを作る側になる」などです。
そのために必要なのは、やっぱり「考える力」なんです。
-
- 問題を解決する
- 社会にとって最適な手順を考える
これらは人間の創造的な力が必要な領域で、AIではまだ追いつけない分野です。
プログラミング思考力を育てて創造性を身につけることは、生きる力でもあるんですね。
これからの時代、AIを使いこなすためにも、どんな仕組みでプログラムやAIが動いているか知ることは大切です。
まだ小学生……と考えずに、小学生のうちからプログラミング思考力を鍛えていくことは、未来の可能性を広げることにつながります!
就職や社会人になっても生きてくるプログラミングで習得した力について、こちらの記事に書いてありますので合わせてどうぞ。
もっと学びたい方に
プログラムとプログラミング思考の違いは伝わったでしょうか?
プログラミング思考が大事だって分かったし、
カワスケには「考える力」とかもっと身につけてほしいなぁ
ドリル楽しい!
パソコンって色々できる! ゲームやりたいし作ってみたい!
………(^_^;)
あはは。親子の気持ちは、このくらいズレがあって大丈夫ですよ。
焦らずに、少しずつ学んでいきましょうね
まず、無料ドリルをやってみたい方はこちらからどうぞ。
もしプログラミング思考を本格的に学ぶなら、プログラミング教室や通信教材を探してみてください。当サイト運営者programmamaのプログラミング教室や通信教材のリアルな体験談はこちらからどうぞ。