2020年から学習指導要領が新しくなり、小学校、中学校、高校で「プログラミング」が必修化になります。
でも、国語や数学などの授業と違って、「プログラミング」ってどんなことをするのでしょうか?
なかなかイメージしづらい「プログラミング」について解説していきます。
目次
そもそもプログラミングとは何か?
プログラミングの意味について、まずはWikipediaを見ていきましょう。
コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。
つまり、「プログラミングとは、コンピュータプログラムを作成すること」となります。
「コンピュータプログラム」を作成する?コンピュータプログラムって何?
では、コンピュータプログラムについて解説していきます。
「プログラム」という言葉を聞いたことはある人は多いのではないでしょうか?
運動会の「プログラム」や、発表会の「プログラム」など、身近でもよく使われているかと思います。
一般的に「プログラム」を日本語に訳すと、計画や予定を実行するための「順番」を意味しています。
つまり、「コンピュータプログラム」とは、コンピュータのための「プログラム」であり、コンピュータが何かを実行するための「順番」を書いたものということです。
「プログラム」と「プログラミング」とは
- プログラムとは、コンピュータがどう動くか順番に書いたもの
- プログラミングとは、プログラムを作成すること、つまり、コンピュータがどう動くかを順番に書いていく作業のこと
コンピュータは素直な性格!?
コンピュータは、人間から命令された通りにしか行動することができません。
例えば、以下のような、ロボットを歩かせるプログラムを作ったとしましょう。
スタート
→「右足を前に出す」
→「左足を前に出す」
→「右足を前に出す」
→「左足を前に出す」
→エンド
このプログラムを少し変えてたらどうなるでしょうか?
スタート
→「右足を前に出す」
→「右足を前に出す」
→「右足を前に出す」
→「右足を前に出す」
→エンド
おそらくロボットは歩けず、倒れてしますかもしれません。
人間であれば、倒れる前に左足を出せますが、ロボットはプログラムに従って動くため、倒れてしまいます。
つまり、コンピュータは、「プログラムに書かれた通りにしか動けない」ということなのです。
そのため、コンピュータが理解できる言葉で、「始めはこう動いて、次にこう動いて・・・」という感じで、
コンピュータにやってほしいことをきちんと順番に書いてあげる(プログラミングしてあげる)ことが大切になります。
プログラミング言語とは?
コンピュータにやってほしいことを命令するには、プログラムを書きますが、その際に必要になるのが「プログラミング言語」です。
プログラミング言語は、人間がコンピュータに命令を伝えるための言葉になります。
コンピュータは日本語を理解できない?
実は、コンピュータが理解できるのは0と1を組み合わせた「機械語」のみです。
でも、人間が0と1の機械語を読んだり、書いたりするのは、無理があります。。。
そこで、人間も理解しやすく、機械語にも変換ができる言語(=プログラミング言語)が作られました。
人間がプログラミング言語を書き、コンピュータの中で機械語に変換してもらい、実行できるプログラムが作成されます。
プログラミング言語には、様々な種類があり、数百種類あると言われています。
代表的なプログラミング言語の例
- C言語:自動車や家電など様々なところで使われる言語
- Java(ジャバ):Androidアプリや、様々なWebシステムのプログラムを作る言語
- Swift(スイフト):iPhoneアプリのプログラムを作る言語
- Python(パイソン):人工知能の分野で良く使われる言語
なお、多くの言語をすべて学ぶ必要はありません。
「こんなアプリを作りたい」などの目的に合わせた言語を選んでいけば大丈夫です。
小学校/中学校でプログラミングを学ぶ意味
2020年から、小学校・中学校でプログラミングが必修化します。
そんなプログラミングの授業は、子供たちにとっては、コンピュータに触れる良い機会となります。
実は、プログラミング授業では、プログラミングのスキルを学ぶことがメインではありません。
授業の主な目的は、プログラミングを作成する際に必要となる「プログラミング的思考」を身につけることです。
プログラミング的思考とは、様々な物事を順番に組み立てていき、論理的に考える力のことです。
小学生、中学生の頃から、プログラミングを学ぶことで、「プログラミング的思考」をすることに慣れていくことが期待できるでしょう。
プログラミング的思考は、こんなときに役立つ
プログラミングを学ぶことで、プログラミング的思考を鍛えることができ、普段の生活や、他の授業でも役に立てることができます。
- 国語で作文を作る時も、起承転結といった順番を考えて、しっかりした文章を作ることができる。
- 周りの意見に流されるのではなく、論理的に考え、自分の考えをしっかり持てる
今後の世の中は、AI(人工知能)などの新技術がどんどん進化し、10年後の未来も予想することが難しくなってきています。
プログラミングを学び、論理的に考える力をつけていくことは、そんな世の中で活躍する力になってくれるはずです。