【初心者必見】プログラミングの概要を理解しよう

2020年9月3日

2020年の今年、新指導要領によって小学校でのプログラミングが必須化となります。

必須化になるということは、国語、算数、音楽といった教科の中に「プログラミング」が追加されるということですね。

こらからの時代を生きる子たちにとって、パソコンスキルは必須の時代に突入しました。

プログラミング教育の目的については「30年の手引」に大きく以下の3つが挙げられています。

1.プログラミング的思考を育む
2.プログラムの働きに気づき、それを応用すること、もしくはその態度を育む
3.各教科の学びを確実にする

プログラミングそのものがあまりわかってないとチンプンカンプンな内容ですよね。

そもそもプログラミング的思考って何よ??という思いの方も多くいるかもしれません。

もしかすると以下のような悩みを持たれている方もいらっしゃるかもしれません。

  • うちの子ってプログラミングの授業についていけるかな?
  • 子供に質問されても答えられるかな?
  • そもそも自分がよくプログラミングのことをわからない

だけど僕はあまり敏感になる必要はないと思ってます。

そもそも教える立場の学校の先生もバリバリにプログラムが書けるという人はまずいないはずです。

当面は先生も試行錯誤しながら覚えたてのプログラミングの知識を生徒たちに教えていく、というスタイルになるとみています。

プログラミングって、一見難しそう、複雑そう、と思えてしまうのですが、やってみると案外簡単にできてしまうものなのです。

なので先生も子供たちも、まずはプログラミングの概念をしっかり理解し、興味を持って手を動かしていくという姿勢が大事です。

プログラミングを始めると、頭がどんどん活性化していくのを感じます。

俗に言う「論理的思考能力がつく」というものですね。

すなわちロジカル脳に生まれ変わっていきます。

老若男女問わずプログラミングは"誰でも・いつでも"チャレンジ可能な分野なので、

是非たくさんの人にこの楽しさを体感して欲しいと願っています。

プログラミングという言葉にどうしても後ろ向きになってしまう気持ちもわかります。

ですが、ここは僕の経験値をもとにシンプルにプログラミングの概念を解説していこうと思うので、ちょっとだけプログラミングのお話にお付き合いいただければと思います。

プログラミングって何?

まずは言葉の理解からです。

プログラミングというのは「プログラム」に英語の「イング(ing)」がついているので

プログラムをすること

という意味になります。

「プログラム」とは何かと言うと

物事を順番に進めること

を指します。

運動会や学芸会でもプログラムというものが渡されますよね?

あれには

1.校長の話

2.準備体操

3.かけっこ

というように、どういう順序で運動会が進行していくのかが記載されています。

なので、プログラミングとは

コンピューターに順番に物事を進めさせること

という理解になります。

これをもっとITっぽく言うと、

コンピュータに何かを命令すると、何か別の処理を走らせる

ということになります。

身の回りの物を例にするとわかりやすいです。

例えばスマホゲーム

・アプリのアイコンをタップすると→ゲームが起動する

・ゲーム内でボタンを押す→キャラクターが動作する

・ガチャのボタンを押す→抽選する→結果をユーザに見せる

というように

起動するための命令→次の動作が進む

という処理になります。

スマホももちろんですが、あらゆる家電製品や機械もプログラミングで動作しています。

どうやってコンピュータに命令するのか

あらゆるデバイス(スマホ、家電製品、機械といった機器や端末)がプログラミングで動いていることが理解できても、実際にはどのように動かしていくのかがわかりません。

目の前にあるPCに向かって私達が使う言葉をPCに投げかけてもPCは何も解読できません。

なのでコンピュータにわかる言葉で伝えてあげる必要があります。

聞いたことがあるかもしれませんが、コンピュータ自身は1と0の情報しか扱えません。

会話レベルで言えばYESかNOしか持ち合わせていません。

えっ?

と思うかもしれませんがこれは事実です。

では、例えば数字の"2″はどう表現するのでしょう?

答えは"10″となります。

わけわからないですよね?

これは2進数の考え方です。

https://wa3.i-3-i.info/word1605.html

2進数では右の位から1,2,4,8というように桁上りします。

なので2進数は桁数を上げて0埋めで表現すると理解しやすいです。

1→00000001

2→00000010

3→00000011

4→00000100

5→00000101

10→00001010

100→01100100

1と0でここまでの表現ができます。

この数字の組み合わせを流用していくことでコンピュータは人間の言葉を分解し、最終的には理解可能な1,0の情報に落とし込み、処理をさせることができるようになります。

ですが人間は自分たちの言葉を1と0だけで表現させることは不可能ですよね?

なので人間が馴染みやすい言語に置き換えてコンピュータに伝達します。

これがプログラミング言語と呼ばれるものです。

日本人→通訳者→アメリカ人

この通訳者にあたる部分がプログラミング言語です。

すごくザックリ説明すると、

人間

「もし今日雨が降ったら傘を持っていく」

プログラミング言語

「if today == rainy then me = umbrella」

コンピューター

「1000101010011111101001…………」

というイメージです。

ここまでの概要は超ザックリとしてますが、プログラミングの意味と仕組みを理解するにはほど良い理解レベルです。

僕も正直この程度の理解ですが普通にプログラミングを使ったお仕事はできてます。

プログラミングを学ぶメリット

プログラミングができるようになってくると自然に身に付いてくる能力もあります。

それは「論理的思考能力」です。

論理的思考とは?

道理や筋道に則って思考を巡らせて結論を導いたり、あるいは、複雑な事柄を分かりやすく説明したりできる能力として主に捉えられる。

要は、物事の因果関係が正しく理解できるということです。

先に説明した通り、プログラムは

○○があって○○が動く

というように処理同士の因果関係が必ず成立しています。

なのでプログラミングを学び、プログラミングをすることは同時に論理的思考を強化させることにも繋がるわけです。

これって凄いメリットですよね。

コンサルティングの業務にも活かせる能力を同時に享受することができる。

プログラミングはやって損はないスキルなんです。

他には、英単語にも多少は強くなれます。

というのもプログラミングを書く時は基本英語だから。

これを聞くと抵抗を感じるかもしれませんが、使うのは単語レベルの英語です。

ifとかforとかwhileとかswithcなど、使うものが限定されています。

このあたりは別の記事とかでも解説できればなと思います。

まとめ

さて、最後にプログラミングの概要とメリットをまとめます。

プログラミングの概要

・物事を順番に進めること

・○○があって○○が動く

プログラミングのメリット

・論理的思考能力が強化される

・英語への抵抗感が薄れる

やってみないとわからない世界でもありますが、まずは自分が使うサービスなりを作ってみるのがオススメです。

今ってネットで情報は色々と転がっているので、すぐに始められるし1日しっかり時間をとれば初心者の方でも簡単なサービスはできちゃいます。

僕も利用している公共機関の遅延状況をプッシュでお知らせするアプリを作ってみたりとなど「自分ごと」で目的を考えればやってみようという気持ちになれますよ。

レッツトライです!

プログラミング

Posted by ryurin