そもそも、プログラミングとは?

そもそも、プログラミングとは?


こんにちは。今回は、ゆっか先生に代わってレイ先生こと加山が執筆しています。

これからKIDSは、子どもを対象とするプログラミング教室ですが、このプログラミングという言葉 に対して、「そもそもよくわからない」、「なんだか難しそう…」という印象をお持ちの方も多いと思います。

今回の記事は、そんなモヤモヤを払拭する手助けのつもりで書きました。参考になれば幸いです。

プログラミングの意味

まず、コンピューターとは何でしょうか?簡単に言ってしまうと、自動で計算を行ってくれる装置のことです。 ここで言う計算とは、データの入出力や画像の加工、文書の作成など幅広い意味を含んでいます。

コンピューターは、パソコンやスマートフォンをはじめ、その万能さから冷蔵庫や洗濯機といった家電製品や自動車など様々なところに利用されていますが、それぞれが目的どおりに動いてくれるのは、あらかじめ人間が命令を与えているためです。 例えば、「スイッチが押されたら起動せよ」、「アクセルが踏まれたら加速せよ」といった具合です。すごく簡潔な例ですが…

このようなコンピューターへの命令が書かれたものをプログラムと呼び、プログラムを作ることをプログラミング と言います。

基本的に、コンピューターは私たちが日常的に使う言葉を理解できません。そのため、命令を伝えるにはコンピューター用の機械語という言葉を使わなければいけません。しかし、機械語は数字の羅列で表されるため、人間にとっては非常に扱いづらいものです。そこで、今では人間の言葉に近いプログラミング言語で命令を記述し、それを機械語に変換する、という手続きが一般的になっています。

プログラミング的思考とは

プログラミング言語が私たちの言葉に近いと言っても、決められた文法や手続きを厳格に守らなければ、コンピューターは思いどおりに動いてくれません。

そのため、コンピューターに目的の処理をさせるには、どのような命令が必要か、また、必要な命令をどのような組み合わせと手順で記述するかを考えて実行する必要があります。さらに、コンピューターを効率よく運用するためには、現状の課題を見つけてより良いプログラムへと改善する力も求められます。

以上を踏まえて、文部科学省の定義するプログラミング的思考とは何かを見てみましょう。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
さきほどの文章になぞらえて読んでみると、なんとなくイメージをつかんでもらえるのではないでしょうか。
下の図は、プログラミング的思考の流れを私なりに簡略化して表したものです。ぜひ参考にしていただければと思います。

なぜ今、プログラミング?

ここで重要なのは、プログラミング的思考とは必ずしもプログラムを作る能力のことではなく、あくまで上述のような考え方のことだという点です。
プログラミング的思考はIT従事者に限らず、どのような立場においても問題の解決に取り組む上で有効な考え方です。
とくに、ITがますます社会に普及していくこれからの時代には、それらを適切に運用していくために必要な素養と言えるでしょう。

プログラミング教育が注目されている理由は、より身近になっている情報技術に早くから触れることで、プログラミング的思考を含むITの素養を身に着け、さらには自分の考えをかたちにするという経験から発想力・行動力を伸ばすことができるからだと言えます。つまり、プログラミングを通じて今後のIT社会に必要な能力を効率よく身に着けることができるのです。

まとめ

いかがでしたでしょうか。プログラミングとは、コンピューターへの命令を作ることで、その際に求められる考え方がプログラミング的思考でした。
しかし、大切なのはプログラムを作る能力ではなく、その過程で身につく考え方や発想力、主体性です。
我々これからKIDSもプログラミングのスキルそのものではなく、子どもたちの自由な発想やそれを実現するために考えてもらう時間を大切にしています。
今回の記事で、少しでもプログラミングについて理解を深めていただけたなら嬉しいです。

ほかのブログ記事はこちらから。