【必修化】プログラミングってなんでしょう?
小学生のプログラミング教育が必修化になりますが、いったいプログラミングとはなんでしょうか。
黒い画面にマニアックな人たちが早打ちで英語のようなものを打ち込んでいる。なんかハッカーみたいな感じ。
こんな感じのイメージはもっていないでしょうか。
あながち間違ったイメージでもないですが、実際にはプログラミングとは幅広く、だれでもできるものなのです。
読み終えたときに少しでもイメージが変わったと思っていただければ幸いです。
プログラミングをやる意味
なぜプログラミングをやるのでしょうか。自分なりの答えを書いてみたいと思います。
①単純作業を機械にやってもらうため
②複雑な作業を効率化するため
③今までなかったものを生み出せるため
④論理的思考を鍛えるため
⑤ペーパーレスとの関連性
ひとつひとつ見ていきたいと思います。
①単純作業を機械にやってもらうため
機械(PC)は繰り返し作業が非常に得意でとても早く行えます。
例えば、マークのテストを行った際に採点をする立場であったとしましょう。自分の手で採点したいでしょうか。
機械はどこが塗りつぶされているということを高速で処理して答えと比べています。このように人間が苦痛に感じるであろう全く同じ処理を複数回することを得意としています。
会社などでただ名前をリスト通りに変更していくというような作業はしていませんでしょうか。機械なら高速で行うことができます。
②複雑な作業を効率化するため
機械はやってほしいと命令されたことだけをします。つまりプログラミングしたことのみをします。
例えば、家計簿をつける際に大量の商品を買ったため、食費なのかその他なのか判別するのがめんどくさいときがあったとします。
機械は、レシートの写真から文字を取り出してExcelなどに列挙させることができます。
そして食費なら0、その他なら1などと指定しておけば、後は数字で指定しておくだけです。(Excelマクロというものです)
全部機械がやらなくても人間の作業を効率化することができます。
③今までなかったものを生み出せるため
すごいものを生み出すという意味も含みますが、"身の回りでこんな機能が欲しいけど既存の製品では余計な機能があったり、ほしい機能がない"とい問題を解決できるという意味です。
声で動かせるごみ箱ロボットがあるのかはわかりませんが、そういうアイデアを実現することができます。
④論理的思考を鍛えるため
おそらくこれが必修化の理由ではないでしょうか。
プログラムを書いて実際に動くのはプログラミングしたことだけです。
当然のことをいっているようですが、意外に難しいです。
例えば、ルンバのようなロボットを壁沿いに走らせるためにはどうしたらいいでしょうか。
人間ならば壁に沿って歩きなさいといえば歩けるでしょう。
ロボットは壁沿いに歩くという意味が理解できません。
まっすぐ進む→壁に当たってないか確認する(センサ)→当たっていたら進む方向を変える、当たっていなければ進み続ける というように命令しなければなりません。しかし、これだけの命令をしても壁沿いに走ることはできないでしょう。
人間が特に考えずにやっている行動をすべて言葉にして命令しなければ人間と同じことは機械にはできません。(AIは別ですが)
行動を具現化して、順序立てることが必要とされるため論理的思考が養われます。
⑤ペーパーレスとの関連性
おそらく文字を実際に書く機械が身近にある方は少ないのではないでしょうか。仕事をすべて紙面上でやっているのであればおそらくプログラミングとあまり関わりがないことでしょう。
ペーパーレス化したらどうでしょうか。ペンタブを使って文字を画面に描く作業に代わるのでしょうか?
おそらくキーボードを操作して文字を打ち込むことになると思いますが、おそらく①や②で説明したことが役に立つことになると思います。
必修のプログラミングではなにするの?
具体的に何をするのかは学校によって違うとは思いますが、"scratch"のような日本語でプログラミングできるようなものだと思います。
つまり、黒い画面に未知の文字を打ち込むわけでなく、
”日本語で命令して、自分の想像通りに動かす”ということをやるのだと思います。
例えば、scratch猫に二回おはよう!といわせる命令です。
左がプログラミングするところです。右が実行結果が分かるところです。
このように直感的にプログラミング出来て何が起こっているかわかりやすいのが特徴です。
イメージと比べていかがでしょうか。ずいぶん簡単には見えませんでしょうか。
プログラミングでコードを書けることが必要というわけではなく、論理的思考を養うことが目的ですので難しそうだと思わなくても大丈夫だと思います。
最後に
学校の先生は大変でしょうが、算数や理科とプログラミングの組み合わせで学んでいくと効率的に学習が進むと思います。
実際にscratchをやるとわかるのですが、パズルみたいです。適当にブロックを当てはめてみて、どんな動きになるかを想像するだけでもよいトレーニングになると思います。
黒い画面で打ち込んでいる人も、おそらく論理的に行動を組立てている時間の方が、打ち込んでいる時間よりも長いと思います。
だれでも簡単に始めることができるものですのでぜひやってみると大きく印象が変わるのではないでしょうか。