2020年から日本の小学校でもプログラミングが必修科目になりました。
「プログラミング」という言葉を初めて聞いた子供は「お母さんプログラミングって何?」と聞いてくることもあるかもしれませんね。
もう聞かれたけど、上手に説明できなかったお母さんもいるかもしれません。
現在はとても身近になってきているパソコンや携帯も、あなたが小学生から高校生くらいのころから普及し始めているので、この数十年間でプログラミングについて学んできた人はそれほど多くなく、よくわからない人も多いのではないでしょうか?
「子供に説明できるように勉強しておかないと!」と思うのは同じ子供を持つ私も同じです。
子供でもわかるように説明するには、お母さんがしっかりプログラミングについて知る必要があります。
子供に楽しくわかりやすく説明する方法や意味を簡単に教える方法をお伝えしていきます。
プログラミングとは何か?
プログラミングが日本の小学校でも必修化されたことにより、習わせたい習い事ランキングに「プログラミング」が英語に負けないくらい上位にあがってきました。
私は日々、さまざまなお母さんとお話をするのですが、「プログラミングって何?」「うちの子プログラマーになることはないと思うんだけど」という声を結構聞きます。
あなたも「プログラミングって何?」って思ってはいませんか?
この際、すっきりさせてしまいましょう!

プログラミングって何なの?

プログラミングとは、ロボコのようなロボットを動かすためのプログラムです。
プログラムとは指示書のようなもので、子どもに「歯磨きしなさい」とか「服を取ってきて」と日々色々な指示をすると思いますが、その指示をロボコがわかるようにプログラムである指示書を人間が作っているのですね。
もちろんあなたの子どもに指示するように「ロボコ、鉛筆を取って」と指示をしても伝わらないので、ロボットを動かすための言葉が必要になってくるんです。

プログラミング言語とは数百種類あって、お母さんが使っている家電なら【C言語】や【C++】。
ネットサービスなら【Rudy】や【PHP】、むぎちゃんが好きなゲームなら【C#】や【Swift】といったように用途によって使い分けているのです。
ちなみにロボコのようなロボットを動かすのにおすすめなのは【C言語】や【C++】で、シンプルな分動作が早いですよ♪

むぎに教えてあげよう!
あなたが使っている、パソコンやスマホ、テレビや自動車、すべてプログラミング言語を使って人間が指示を出しているから動いているのです。
毎日昼ドラマを見ているお母さんもいると思いますが、リモコンの電源ボタンを押すだけで簡単にテレビがつきますよねー!
そんな当たり前なことも、プログラミング言語で「電源ボタンが押される」→「テレビ電源ONにする」というプログラムを設定しているから簡単にテレビがつくのです。
そのように考えていくと、身の回りにあるものすべてが人間がプログラムを設定しているから動いているものばかりだということに気がつきませんか?
プログラミングを覚えれば、動かしたいと思うものを動かせる力が付くのです★
プログラミング教育の目的【プログラミング思考力】とは


自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力。
引用:文部科学省
そして、その命令をどのように組み合わせていったら、ロボコが料理を作ってくれるのかを考えていくという、その流れを論理的に考えていく力のことを指します。
回転寿司屋さんで、ロボットが「いらっしゃいませ」とお出迎えをして「発券番号をお取りください」とアナウンスしているのを見たことはありませんか?
人手不足解消のためや、コスト削減のために、ロボットを導入する会社やお店がドンドン増えてくることは間違いありません。
そこで最も必要となる人間というのは、【ロボットを動かすために論理的に考えていける人】と、【プログラミング言語を使える人】です。
単純作業の仕事はグンと減って、クリエイティブな仕事が増えていくなか、そんな世界でも生きていける能力を育んでいくためにもプログラミング思考力は大切と言われています。

自分で何かを作り出そうとする力「創造力」や、問題が起きたときに解決に導くための手順に気づくことのできる「問題解決力」。
自分が目指すべき形にしていく「論理思考力」、論理思考力が付いてくると友達に詳しく説明できたり、プログラミングについて話し合う機会も多いため「コミュニケーション力」もついてきます。
そして、完成したプログラムを発表する場も増えてくることでしょう。
自分で作ったロボットを発表しているうちにプレゼンテーション力もついてきますね!
プログラマーになる人だけではなく、子どもたちがこれから生きていくうえで役立つ力を伸ばすためでもあります。
プログラミングの種類とは・数百種類全部覚えるの?
プログラミング言語を使って、身近にあるものも動いているということがわかりましたが、プログラミング言語は数百種類もあるともお話ししました。
代表的なものは20種類ほどなのですが、マイナーなものを含めると数百種類もあるので、ビックリしますよね。


プログラマーといってプログラムを書く人が、好きなプログラミング言語を使ってプログラムを書きます。
その後、変換するソフトを使って変換するので、結果的にはどのプログラミング言語を使っても同じということになります。
あなたに一番身近なのが、スマホのアプリですね!
スマホのアプリもプログラマーが好きなプログラミング言語を使ってプログラムを書き、あなたが使えるように変換しています。
結果は同じなら、プログラミング言語はひとつでいいじゃないかって思いませんか?
なぜ、プログラミング言語が数百種類も増えてしまったのでしょうか…。

例として一昔は、お風呂に入るのも薪を使ってお風呂を沸かしてからでないと入れませんでした。
「もっと簡単に短時間でお風呂に入ることはできないだろうか…。」
「小さな子どもでもお風呂が沸かせないだろうか…。」と考えて改善され続けた結果、ボタンひとつで沸かすことのできるシステムができあがりました。
プログラミングも同じです。
「もっと短時間でプログラムを書けないだろうか?」
「小さな子どもでもわかるように簡単なプログラムにできないだろうか?」という想いから数百種類もプログラミング言語が開発されているのです。


先ほどもお伝えしましたが、家電なら【C言語】や【C++】。
ネットサービスなら【Rudy】や【PHP】、ゲームなら【C#】や【Swift】といったように用途によって使い分けています。
要するに【自分が作りたいと思うものを、一番作りやすいプログラミング言語を使う】のが良いですね。
一番、お手軽に習得できるのが「Scrach(スクラッチ)」で、ウェブでも使うことができますよ。
プログラミングを使った職業とは
イーラーニング研究所で【将来お子様になってもらいたい職業は何ですか?】という調査を行った結果、「プログラマー(SE)・ゲームクリエイター」が経営者の次に多いです。
「プログラミングを使った職業はなんですか?」と聞かれると、まっさきに「プログラマー」と答える人が多いかもしれませんね。
プログラマーの他にも、システムエンジニアという職種も耳にしたことがあるのではないでしょうか。
さて、プログラマーやシステムエンジニアはどんな仕事をするか知っていますか?
一度確認をしておきましょう。
システムエンジニアとは
システムエンジニア(SE)は顧客の要望や、抱えている問題点を聞いて、これから作るソフトウェアの仕様書を作成するエンジニアです。
顧客が「お店の接客をしてくれるロボットを作りたいんだけど」などと言った要望をSEが聞き、ロボットの仕様書(品質、成分、性能、精度、製造・施工方法、メーカー、施工業者など)を作成します。
プログラマーとは
プログラマーはコンピュータを動かす「プログラミング言語」を使って、コンピュータプログラムを組み、さまざまなシステムやソフトウエアを作る仕事です。
基本的にはシステムエンジニアがシステムの仕様書を作成し、それに基づいてプログラマーがプログラミングを行っていきます。
プログラマーをとして数年経験を積んでから、システムエンジニアになるという人が多いですね。
プログラマーやシステムエンジニアの主な仕事とは
プログラマーやシステムエンジニアは、上記で説明したようにロボットを作ることだけが仕事ではありません。
他にもどんな仕事があるのか、人気な職種などをご紹介していきます。
ソフトウェアの開発
コンピュータを動かすプログラムのことを指す「ソフトウェア」を開発する仕事です。
有名なソフトウェアは、マイクロソフトの「Word」や「Excel」、そしてセキュリティソフトの「ウィルスバスター」や「マカフィー」などもあります。
他には会計ソフトの「弥生会計」も有名ですね。
数年前までは店頭にCDやDVDが並んで売るということが一般的でしたが、ここ最近はダウンロードして使用することが増えてきました。
撮った写真を編集するためのソフトや、ビデオカメラで撮った画像を編集するためのソフトをダウンロードしたことがある人もいるかもしれません。
このように会社で独自にソフトウェアを開発するところが増えてきていますし、企業や組織から依頼を受けて要望に応じたソフトウェアを開発することもあります。
アプリの開発
「アプリ」と呼ばれるアプリケーションとは、もともとは上記で説明したのWordやExcelなどのソフトウェアを指していますが、ここ最近の「アプリ」はスマートフォン(iPhone・Android)やタブレット(iPadなど)で利用することのできるソフトウェアのことを指すことが増えてきました。
端末にダウンロードできるアプリを「ネイティブアプリ」、WEBブラウザで利用するアプリを「WEBアプリ」と呼びます。
有名なアプリと言えば通信アプリの「LINE」やSNSアプリの「Facebook」「Twitter」「Instagram」、そして通販やオークションアプリの「楽天」「メルカリ」「ヤフオク」。
このように聞くと「今まさに使っているよ!」というものがあるのではないでしょうか。
これからは外出中にも電気をつけておいたり、お風呂を沸かしておいたりするアプリも主流になってくるのでしょうね。
ゲームクリエイター
将来子どもになってもらいたい職業でも、プログラマーとともに「ゲームクリエイター」も入っていました。
毎日ゲームを楽しんでいる中高生の中には「ゲームに関わる仕事に就きたい」と思っている人もいるかもしれませんね。
ゲームソフトやゲームアプリの企画や制作を行う、コンピュータゲームの開発者のことをゲームクリエイターと呼びます。
一人で黙々と作成しているイメージがあるかもしれませんが現在は共同作業で進めていき、メインプログラマー・ゲームディレクター・ゲームプロディーサー・デザイナー・シナリオライターなど中心的な役割を果たす企画開発スタッフとして働いていきます。
ゲームの中の登場人物やアイテム、そして動いていく背景に流れてるBGM、それらすべてプログラムで動いていくので、1つのゲームに多くのプログラマーが関わっています。
セキュリティエンジニア
セキュリティエンジニアとは、サーバーに関連する業務や情報セキュリティ専門のエンジニアのことです。
パソコンに保存してある大事な思い出の写真や、登録してある銀行口座や連絡先、課金して使っているゲームデータまでもサイバー攻撃により見られたり勝手に使われてしまったり、データが消えてしまったりと、起きたら大変なことってありますよね。
または、不正アクセスされて個人情報が流出してしまったという報道も耳にしたことがあるのではないでしょうか。
そのようなことが起きないように、情報が記録されているサーバーのセキュリティを攻撃から守るために、セキュリティエンジニアがいるのです。
ネットワークやスステムの弱点(脆弱性)を見つけ出して、それらを補うためのセキュリティシステムを作っていきます。
企業や私たちユーザーをIT犯罪から守ってくれる存在なんですね。
ロボット開発エンジニア
先ほどもお話ししましたが、最近では飲食店でロボットがお客様をお出迎えしている姿を見かけることが出てきました。
これからは、医療用ロボットや災害用ロボットなどと、ロボットが活躍する場面が多くなってくることでしょう。
そういったロボットを設計・開発していくのがロボット開発エンジニアの仕事になります。
ロボット開発では、人間で例えると五感の「センサー」・頭脳の「知能・制御」・手足の「駆動」。
この3つの専門分野に分かれていて、これらを組み合わせて一つのロボットが完成していきます。
プログラミングの勉強法
プログラミングについて大まかなことがわかってきたところで、実際にプログラミングを子どもに勉強させるときの勉強法をお伝えしていきます。


なによりも楽しむことが大事だよ。
プログラミングを子どもに勉強させるにあたって、一番大切なのが「教えない」「勉強しなさいと言わない」「高額な教材を買わない」の3つだと言われています。
先ほどもお伝えしましたが、プログラミングは子どもに解決する力をつけるため、【プログラミング思考力】を育てるためです。

子どもの好奇心を刺激する「楽しい!面白い!」と思う遊びを取り入れた方法が一番ですね!
「プログラミングの勉強を始めようか!」と声をかけるよりも、一緒にタブレットを使って子どもにプログラミングの楽しさを感じてもらいましょう★
タブレットゲームからスタートしよう!
子どもと一緒にプログラミングを楽しんでみようと思ったとき、気軽に始めるにはパソコンよりもタブレットです。
私の子どもたちもパソコンを立ち上げるよりもタブレットを立ち上げるほうが断然簡単なので、何をするにもタブレットを使います。
楽に簡単にすぐ始められるというのは、続けていくコツですね!
おすすめアプリをいくつかご紹介します。
Run Marco!(ランマルコ)
引用:Run-Marco
アドベンチャーゲーム感覚でプログラミングを体験できます。
色々な道があり、「step forward(前に進め)」「turn right(右に曲がれ)」「turn left(左に曲がれ)」といった命令をしながら目的地に向かうというゲームで、時には難題な課題にぶつかったりして、考えながら進めていくゲームなので、「ゲームばかりやって!」と怒らなくて済むようになるかもw
SCRATCH(スクラッチ)
引用:SCRATCH
視覚的にプログラミングを学べるのが「SCRATCH(スクラッチ)」です。
日本語にも対応していて「ひらがな」表示も選べるのも嬉しいポイントですね。
スクリプト(簡易プログラム言語の一種)の種別に色分けがされているので、視覚的・直感的にプログラミングを学ぶことができます。
自分だけのゲームやアニメを作って、みんなに見せてあげることもできますよ。
SCRATCH JR(スクラッチジュニア)5歳~7歳向け
5歳から7歳くらいのお子さんには、文字を使わないSCRATCH JR(スクラッチジュニア)で一緒に遊んでみてくださいね!
本格的にはプロから学ぶのが一番!
子どもにやる気があって、もっとプログラミングを学ばせたいと思うなら、プログラミングのプロに習うのが一番です。
もちろん、無料アプリでプログラミングの基本を学んだ後、本を買ったり通信教育を使って「独学で学ぶ」という方法もあります。
自分の好きな時間にできるというメリットがあり、手軽に気軽に学ぶことができます。
しかし、「独学」というのは、自分の好きな時間に手軽に学べるというメリットがある反面、つまづいたときに誰かに聞くことができないという大きなデメリットもあります。
プログラミングの学習は分からなくなった時にすぐに解決できる環境がないと、「プログラミングって楽しい!」と思う前に挫折してしまい、しまいには「プログラミングは苦手…」という残念な結果になり得ることも十分あります。
学校でもプログラミングの授業はありますが、小学校の先生は恐らく担任の先生がプログラミングも受け持つことになりプログラミング教育が満足にできる先生ばかりではないのが現状です。
英語の授業を受けて全員が英語をペラペラしゃべれるかといったらそうでないのと同じです。
学校のプログラミング教育だけで、将来プログラミングを仕事できるほど現実は甘くなく、「ほんの少しかじっただけ…」「プログラミングを学校で少しだけ体験した」程度で終わる子どもばかりになる可能性が高くなります。
そうならないためにもプログラミングのプロに習うほうが、子どものワクワク感が半端なく、教えてもらわなくても自分で見て吸収していきますよ♪
「教わる」学習ではなく、プログラミングの面白さを学べるワークショップやイベントに参加するのもいいですね。
全国にはプログラミングスクールもあるので、一度体験してみてはいかがでしたでしょうか。
プログラミングに必要な道具や環境


まずは無料のアプリで始めようと思っても、パソコンやタブレット、そしてインターネット接続環境がなければ始めることはできません。
もし、パソコンを新しく買おうと思っているのであれば、Windows・Macどちらでも構いませんが、今後スクールに通おうと考えているなら持ち出し可能なノートパソコンをおすすめします。
スクールで借りると有料になってしまうことがあるのと、自分のパソコンで学ぶことができると帰ってからできないということがないのが良いですね。
あと、もうひとつ大切なのが、インターネット接続環境が整っていること。
パソコンはあるけどインターネットに繋げられなければ、無料のアプリだとしてもダウンロードして使うことができません。
パソコンまたはタブレットとインターネット接続環境は、最低限必要になります。
まとめ
「プログラミングとは何か…」大まかでも理解していただけましたか?
これからますますプログラミングが必要となり、もしかすると「プログラミングって何?」と聞くお子さんもいるかと思います。
そんなときに、子供にわかりやすく説明できるように、できる限りわかりやすくまとめました。
専門用語が多いプログラミングの世界ですが、なるべく子どもの分かりやすい意味で教えてあげてくださいね。
そして、親子ともに楽しいプログラミングの世界に飛び込んでみてはいかがでしょうか。