こんにちは。IT KiDS武蔵野緑町教室のさばとです!
みなさん、「プログラミング」というものがどういうものかについて説明できますでしょうか。私は「プログラミング」という言葉が一人歩きしているような気がしています。
私はC言語をはじめ、PythonやPHP、Javascriptなど様々な言語を経験しました。そんな経験に基づいて、「プログラミング」とは何なのかについて考えていこうと思います。
プログラミングとは……ズバリ「動きの計画を作ること」だ!
黒い画面に白い文字。そんな様子を思い浮かべるかもしれませんが、そんな画面の中に記述しているのは「コンピュータにどんな動きをすべきか」の命令です。
例えば、人が傘を持っていくときのルールについて考えましょう。
人が傘を持っていくときはどんな時でしょうか。そうですね、雨が降っているときです。
もし、外を見て雨が降っているなら、傘を持つ。そうでなければ、何もしない。
そんなルールをあらかじめ決めているのです。コンピュータの中でも変わりません。状況に応じてあらかじめ決めていた動きの計画に合わせて実行してもらいます。
プログラミングで何ができるのか?
プログラミングを扱うことで何ができるのでしょうか。基本的にはコンピュータの操作を正確に効率よく行うことができます。例えば、たくさんの書類を一つにまとめたり、メールの文面を自動作成したり、お店なら在庫や収益、費用の管理なんてのもお手のものです。コンピュータは何もWindowsやMacといったものだけではありません。ロボットにもコンピュータは積まれていますし、それによって動きを制御することができます。
プログラミングを使うことでコンピュータをより効率よく扱うことができるということです。
ここで重要な点はコンピュータを扱う、というところに焦点を当てているところです。何もプログラミングは全く身の回りにないわけではないのです。皆さんのすぐそばにプログラミングは存在しています。そして、それを知らないまま扱っているのです。
こどもがプログラミングを学ぶということ
では、そんなプログラミングをなぜこどもが学ぶ必要があるのでしょうか。それは、こどもの頭の柔らかいうちに「プログラミング的思考」の癖をつけることが目的です。
「プログラミング的思考」という言葉も多く取り沙汰されていますが、これも少し難しい概念ですね。
プログラミングをする際には動きの計画を作ります。ですので、頭の中や文章、プログラムの中で最後まで処理しないうちに計画を作り切る必要があります。例えば、ベッドにいる人が起き上がって朝食を食べるまでにどれくらいの行為に分解できるでしょうか。
- 起きる
- 部屋を出る
- 朝食を食べる
でしょうか? では、1の起きるはそれだけでしょうか。体を起こすためにはどの方向にどのくらいの力をかける必要がありますか? どの角度を維持すべきでしょうか?
このように人間が何気なくやっている行動ですら、このように分解を行うことができます。そしてこれらを適切に繋げ合わせ一連の動作として組み立てることがプログラミング的思考です。
すなわち、プログラミング的思考とは分解と組み立て、ということができます。
プログラミング的思考ができると何が良いか
プログラミング的思考は抽象的に何かやりたいことがある時に、それをより具体的で厳密に表現することができる点が優れています。
例えば、「テストの成績を上げたい」という目標を立てたとします。ではそれに向かって何ができるでしょうか?
テストの成績を上げるということは各教科の成績を上げるということ→各教科の成績を上げるためには、各教科の学習を進める必要がある→どれくらいの量をいつどの方法でどうやって?
この思考はより目標の成功率を上げることに寄与するのです。
まとめ
プログラミングとは……動きの計画を作ること
プログラミング的思考とは……分解と組み立て
これらの学習はITに関わることなくとも必要な技術となっていきます。
IT KiDSでは、そんなプログラミングやプログラミング的思考を楽しく学べるプログラムを用意しています。皆さんの挑戦をお待ちしています!