2020年から学習指導要領が新しくなり、小学校、中学校、高校で「プログラミング」が必修化になります。

でも、国語や数学などの授業と違って、「プログラミング」ってどんなことをするのでしょうか?

なかなかイメージしづらい「プログラミング」について解説していきます。

そもそもプログラミングとは何か?

プログラミングの意味について、まずはWikipediaを見ていきましょう。

コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。

つまり、「プログラミングとは、コンピュータプログラムを作成すること」となります。

「コンピュータプログラム」を作成する?コンピュータプログラムって何?

では、コンピュータプログラムについて解説していきます。

「プログラム」という言葉を聞いたことはある人は多いのではないでしょうか?

運動会の「プログラム」や、発表会の「プログラム」など、身近でもよく使われているかと思います。

一般的に「プログラム」を日本語に訳すと、計画や予定を実行するための「順番」を意味しています。

つまり、「コンピュータプログラム」とは、コンピュータのための「プログラム」であり、コンピュータが何かを実行するための「順番」を書いたものということです。

「プログラム」と「プログラミング」とは

  • プログラムとは、コンピュータがどう動くか順番に書いたもの
  • プログラミングとは、プログラムを作成すること、つまり、コンピュータがどう動くかを順番に書いていく作業のこと

コンピュータは素直な性格!?

コンピュータは、人間から命令された通りにしか行動することができません。

例えば、以下のような、ロボットを歩かせるプログラムを作ったとしましょう。

スタート
→「右足を前に出す」
→「左足を前に出す」
→「右足を前に出す」
→「左足を前に出す」
→エンド

このプログラムを少し変えてたらどうなるでしょうか?

スタート
→「右足を前に出す」
→「右足を前に出す」
→「右足を前に出す」
→「右足を前に出す」
→エンド

おそらくロボットは歩けず、倒れてしますかもしれません。

人間であれば、倒れる前に左足を出せますが、ロボットはプログラムに従って動くため、倒れてしまいます。

つまり、コンピュータは、「プログラムに書かれた通りにしか動けない」ということなのです。

そのため、コンピュータが理解できる言葉で、「始めはこう動いて、次にこう動いて・・・」という感じで、

コンピュータにやってほしいことをきちんと順番に書いてあげる(プログラミングしてあげる)ことが大切になります。

プログラミング言語とは?

コンピュータにやってほしいことを命令するには、プログラムを書きますが、その際に必要になるのが「プログラミング言語」です。

プログラミング言語は、人間がコンピュータに命令を伝えるための言葉になります。

コンピュータは日本語を理解できない?

実は、コンピュータが理解できるのは0と1を組み合わせた「機械語」のみです。

でも、人間が0と1の機械語を読んだり、書いたりするのは、無理があります。。。

そこで、人間も理解しやすく、機械語にも変換ができる言語(=プログラミング言語)が作られました。

人間がプログラミング言語を書き、コンピュータの中で機械語に変換してもらい、実行できるプログラムが作成されます。

プログラミング言語には、様々な種類があり、数百種類あると言われています。

代表的なプログラミング言語の例

  • C言語:自動車や家電など様々なところで使われる言語
  • Java(ジャバ):Androidアプリや、様々なWebシステムのプログラムを作る言語
  • Swift(スイフト):iPhoneアプリのプログラムを作る言語
  • Python(パイソン):人工知能の分野で良く使われる言語

なお、多くの言語をすべて学ぶ必要はありません。

「こんなアプリを作りたい」などの目的に合わせた言語を選んでいけば大丈夫です。

小学校/中学校でプログラミングを学ぶ意味

2020年から、小学校・中学校でプログラミングが必修化します。

そんなプログラミングの授業は、子供たちにとっては、コンピュータに触れる良い機会となります。

実は、プログラミング授業では、プログラミングのスキルを学ぶことがメインではありません。

授業の主な目的は、プログラミングを作成する際に必要となる「プログラミング的思考」を身につけることです。

プログラミング的思考とは、様々な物事を順番に組み立てていき、論理的に考える力のことです。

小学生、中学生の頃から、プログラミングを学ぶことで、「プログラミング的思考」をすることに慣れていくことが期待できるでしょう。

プログラミング的思考は、こんなときに役立つ

プログラミングを学ぶことで、プログラミング的思考を鍛えることができ、普段の生活や、他の授業でも役に立てることができます。

  • 国語で作文を作る時も、起承転結といった順番を考えて、しっかりした文章を作ることができる。
  • 周りの意見に流されるのではなく、論理的に考え、自分の考えをしっかり持てる

今後の世の中は、AI(人工知能)などの新技術がどんどん進化し、10年後の未来も予想することが難しくなってきています。

プログラミングを学び、論理的に考える力をつけていくことは、そんな世の中で活躍する力になってくれるはずです。