【プログラミングとは】子供に説明するときの教え方・例え話

プログラミングって何?と子供に聞かれたら、どうやって答えればいいのか。

子供が理解できるように教える方法があるんだろうか。っていうか、そもそも自分がプログラミングしたことないし。

という、親御さんも多いと思います。

私は小学生の頃にプログラミングを覚えて、社会に出てからもプログラマーとしてやってきました。が!

プログラミングが何なのか、子供が理解できるように教えるなんてできるんだろうか…と、やや自信なさげですが、いくつか方法・例え話が浮かびました。

この記事では、現役プログラマーのプライドにかけて、子供が理解できるように教える方法を挙げていきます。

プログラミングとは何か

そもそも、プログラムって何?

プログラミングを知るためには、プログラムが何なのかわかると理解しやすくなります。

プログラムとは、「機械が自動で動けるようにするための手順」のことです。

身近な家電だと、洗濯機のプログラム機能がイメージしやすいと思います。

だいたいの全自動洗濯機には、洗濯の手順を自分好みにインプットする機能が付いています。

  • 洗い:1回
  • すすぎ:2回
  • 脱水:2回

というコレ、実は、利用者がボタン操作でプログラムできるようになっているインプット機能なのです。

つまり、「洗濯機を自動で動けるようにするための手順」をボタン操作でインプットしているわけです。

このプログラムで洗濯機を動かすと、

洗いすすぎ脱水すすぎ脱水

という順に自動で動いてくれます。

そういえば取扱説明書にも『プログラム機能』って書いてあったかも!

プログラミングとは…洗濯機の場合

プログラムとは、「機械が自動で動くようにするための手順」でした。

プログラミングとは、この手順を「機械が読めるように書く」のことです。

たとえば、洗濯機のプログラムはこうでした。

  • 洗い:1回
  • すすぎ:2回
  • 脱水:2回

これを、洗濯機が読めるように書くと、

arai = 1
susuki = 2
dassui = 2

function sentaku():
    for i in max(arai, susugi, dassui):
        cue_arai(i, arai)
        cue_susugi(i, arai, susugi)
        cue_dassui(i, susugi, dassui)

…こうなります。

こんな感じに、機械が読めるように書くことがプログラミングです。

そして、機械でもわかりやすいように書く技術が、プログラマーの腕前になってくるわけです。

それで、プログラミングが職業になっているのね。

どのプログラムも、書き方はほぼ同じ

どのプログラムも、使われる構文は同じです。

いろいろなプログラミング言語がありますが、記述の仕方には違いがあるものの、プログラムに使う構文は「繰り返し」と「条件分岐じょうけんぶんき」の2つです。

世の中のほとんどのことは、繰り返しと条件分岐で書くことができます。

たとえば、駅まで行くプログラムは、次のように書くことができます。

  1. (繰り返し)家を出て道沿いに歩くことを繰り返す。
  2. (条件分岐)交差点に来たが、青信号の場合はそのまま進む。赤信号のときは止まる。
  3. (繰り返し)信号が青になったため、さらに歩くことを繰り返す。
  4. (条件分岐)工事中で通行止めになっていたので、右の道に進むことにする。
  5. (繰り返し)道なりに歩くことを繰り返す。
  6. (条件分岐)次の交差点で、左に曲がって駅に向かうことにする。
  7. (繰り返し)駅が見えてきたので、そのまま歩くことを繰り返す。
生活の中のことをプログラムで想像してみると面白いです。

人間にとっては「駅まで行く」という単純な行動でも、もしロボットにやらせようとすると何だかややこしくなりそうな気がします。

青信号をどうやって青だと判断するんだろう?なんなら青というか緑に近いし。「工事中」の看板の文字をどうやって読ませようかな?

ちょっとした判断の中に、さらに繰り返しと条件分岐が追加されていき、プログラムはどんどん膨らんでいきます。その分、ロボットの動きは人間味を帯びてくるわけです。

これが、プログラミングの難しさでもあり、楽しさでもあります。

プログラミングを子供のうちに経験するメリットとは

スマホが普及したり、AI機能を持つ家電が増えてきたりしていることで、ITが身近に感じられるようになりました。

お子様に、プログラミングを習わせたいと考えるかたも増えています。

もし、「プログラミングって何?」って子供に聞かれたのなら、興味を持っているときこそが学習を始めるチャンスです。

プログラミングを無料で体験できる次のような教室があります。

  • LITALICO ワンダー:生徒対象は年長・小学生・中学生・高校生。オンライン&通学可。教室は首都圏のみ。ロボット・アプリ・ゲームなど多様なカリキュラムで学べる環境です。
  • プログラミング キッズ:生徒対象は小学生。オンライン・通学可。教室は全国主要都市。段階的な6年間のカリキュラムでしっかり学べる環境です。下記のコード オブ ジーニアスへの編入も可。
  • コード オブ ジーニアス:生徒対象は中学生・高校生。オンラインのみ。トップエンジニアを目指すことを掲げたハイレベルな教育環境です。
LITALICOは上級生たちと一緒に学べるというのが面白いシステムです。社会性も育ちそうです。

まとめ

  • プログラムとは、「機械が自動で動くようにするための手順」のこと。
  • プログラミングとは、その手順を「機械が読めるように書く」こと。
  • プログラミングを学ぶことで育つ力がたくさんある。
  • プログラミングを体験するのが早ければ早いほど、社会に出てからの優位性も高くなる。
  • この記事を書いた人

non

小学生のときにBASIC言語でプログラミングを覚え、社会に出てからはPythonを主力に通信業界で無線設計とGISシステム開発に携わること12年目。損害保険営業→自動車製造→運輸荷扱作業→建築現場作業→ネット通販企画→カーナビ品質管理→携帯無線設計SEと職を変えてきたジョブホッパーです。