MENU
ブログランキング・にほんブログ村へ
Ryo's Blog - にほんブログ村

ブログサークル
ブログにフォーカスしたコミュニティーサービス(SNS)。同じ趣味の仲間とつながろう!

〜プログラミングの前提知識を身につけよう②〜

目次

※まずはじめに

未経験から一人前のエンジニアになる為に一番やってはいけない事は、「闇雲にプログラミング学習をしてしまう」事です。正しい前提情報を知らないままプログラミング学習を始めてしまうと、エンジニアになるまでに何倍もの時間がかかってしまいます。プログラミングを始める前に必ず知っておくべき情報を網羅的にインプットする事で、正しい手順と正しい心構えでプログラミングに臨める状態を目指して下さい。

  • 「どのようにプログラミング学習を進めればよいのだろう」
  • 「エンジニアになるためにはどのような手順が必要なのか」
  • 「最速でプログラミングを身につけるためのコツが知りたい」

上記のような疑問がまだ残っている方は必読です。

そして何ができるようになるか?

  • 最短でプログラミングを習得できるようになる
  • プログラミングでどんなモノを作れるようになるのかイメージが湧く
  • エラーの解決方法がわかる
  • オリジナルアプリの開発工程がわかる

プログラミングの概念

  • 「プログラミング」とは何か
  • プログラミングで何ができるのか
  • プログラミングを学ぶ本当のメリット

①「プログラミング」とは何か

そもそも「プログラミング」とは何なのでしょうか?最近よく耳にするプログラミングというワードですが、聞いたことがあってもきちんと説明できる人は多くないです。プログラミングを理解するには、身近なところからイメージするのがポイントです。

そこでまずは、以下の3点について解説します。

  • なぜプログラミングが必要なのか?
  • プログラムが使われている身近な製品
  • Webサイトのプログラムを見る方法

なぜプログラミングが必要なのか?

プログラミングを一言で表すと、「コンピュータへの指示を書くこと」です。「コンピュータは何でも勝手にやってくれる」と思われがちですが、それはすべて人間が指示をしているからこそ実現出来ています。コンピュータは人間のように自分で考えたり、知識や経験が蓄積されたりすることはありません。

AIなどの技術は例外です

コンピュータはまるで、何も知らない子供のようなものです。親が子供に様々な事を教えてあげるように、プログラマーがコンピュータに一つ一つプログラミング言語を使って指示をしています。これらの指示がなければコンピュータは何をすべきかわからず、動くことさえ出来ません。

身近にあるプログラミングの世界

実は、プログラムは身近な製品にたくさん使われています。

  • パソコン
  • スマホ
  • 生活家電
  • 自動販売機

上記のような電動の製品には、大抵プログラムが組み込まれています。

例えば自動販売機であれば、以下のようなプログラムです。

  1. お金を投入する
  2. いくら投入されたのかを計算する
  3. 飲み物の在庫を確認する
  4. 在庫がある飲み物のボタンが点灯する
  5. ボタンが押されると、その飲み物を排出する

このように、プログラミングをすれば販売も自動化出来てしまいます。

Webサイトのプログラムを実際に見てみよう

プログラムは身近に存在するものの、プログラムの中身を見るのは難しいと思います。Webサイトのプログラムであれば無料でいつでも見られるのをご存知でしょうか?今すぐに見てみたい方は、画面上で右クリックしたあと、「検証」をクリックして下さい。プログラムを動かすための命令(コード)が表示されます。現時点ではコードの意味がわからなくても、プログラミングによってWebサイトが動いている事が理解できればOKです。ぜひお気に入りのWebサイトで検証してみて下さい。

②プログラミングで何ができるのか

「プログラミングで何ができるのか」が気になる方も多いはずです。プログラミングで「できること」と「できないこと」を知っておくことは大切です。

そこで次は、以下の2点について解説します。

  • プログラミングによって作られているモノ
  • プログラミングの基本「入力・処理・出力」

プログラミングによって作られているモノ

先ほど、私たちの身近には、プログラミングによって作られている、製品がたくさんあることを解説しました。それらの製品を思い出してみて下さい。また、他にも想像できる範囲でどんなモノが、プログラミングによって作られているか、考えてみて下さい。何か1つでも思い浮かびましたか?パソコン・スマホ・ゲームなどを想像した方が多いのではないでしょうか?もちろん、それら全てはプログラミングによって作られています。

プログラミングの基本は「入力・処理・出力」

これまでに紹介した具体例の中には、使ったことがあるモノもあったのではないでしょうか。これらの他には電子レンジや炊飯器などの家電製品も、プログラムによって動いています。そして、これらのプログラミングによって作られたモノにはある共通点があります。例えばTwitterであれば、文章を入力すると、それに合わせてその文章がタイムラインに表示されます。また、ゲームであればキャラクターがコマンド通りに動くはずです。これらの共通点とは、入力・処理・出力がセットになって動作するという点です。

  • 入力:コンピュータが受け取る情報
  • 処理:受け取った情報をもとに行われる動作
  • 出力:処理をおこなった結果

入力は、twitterであれば文字の入力、ゲームであればコマンドの操作です。

処理は、入力に対し、コンピュータがプログラムに書かれた指示通りに動きます。プログラミングとは、この指示を書く事です。なお、この処理は私たちの目には見えません。

出力は、twitterであればタイムラインへの表示、ゲームであればキャラクターの動きです。これらの入力・処理・出力はプログラミングの基本であり、とても大切な考え方です。ぜひ頭の片隅に留めておいて下さい。

③プログラミングを学ぶ本当のメリット

「プログラミングを学べば収入がアップする」上記のメリットに魅力を感じ、プログラミングを学び始めた方も多いかと思います。しかし、多くの方がプログラミングを学ぶ本当のメリットを勘違いしています。そこで次に、プログラミングの学ぶ本当のメリットをお伝えします。

プログラミング学習のメリットを考えてみよう

まずはあなたが考える、プログラミング学習のメリットを書き出してみて下さい。思いつく限り、メリットを書き出してみてください。どんなメリットが思い浮かんだでしょうか?

  • 収入が増える
  • 地方でも職に困らない
  • ライフスタイルが選べる

例えば上記のようなメリットは全て、あくまでプログラミングスキルを身につけることによって得られる副産物です。プログラミング学習で得られる本当のメリットではありません。

プログラミングを学ぶ事で得られる本当のメリットとは、論理的思考(ロジカルシンキング)ができるようになるという点です。論理的思考は、必須のビジネススキルとして大きな注目を集めています。

ビジネス書籍でも、以下のように論理的思考に関するものがたくさん出版されています。論理的思考ができるようになると、以下のようなメリットがあります。

  • 物事を客観的に捉えられる
  • 情報を適切に分類・分析できる
  • 効率的に仕事ができるようになる
  • 適切に問題を解決できるようになる

これらを見ると、プログラミングとはまったく関係がないように感じるかもしれません。そこで、プログラミング学習によってなぜ論理的思考ができるようになるのか解説します。

プログラミング学習によって論理的思考ができるようになる理由

プログラミングとは、やりたいこと(ゴール)を達成する為に、正しい手順や順序(ロジック)をコンピュータに指示する事です。コンピュータはまるで何も知らない子供と同じです。

一つ一つ丁寧に何をどうすべきか教えてあげなければなりません。ただしコンピュータはとても従順で、あなたの指示通りに動いてくれます。一方で、あなたが教える内容が間違っていると、コンピュータも間違ってしまいます。例えば、子供の頃に以下のような体験をした事はないでしょうか?

  1. お母さんに、「学校から帰ったら洗濯物を取り込んで」と頼まれました
  2. お母さんの言いつけ通りに、学校から帰ると洗濯物を取り込みました
  3. お母さんは帰ってくると、「もっと考えなさい!」と叱られました

「ありがとう」と感謝されるならまだしも、なぜあなたは叱られたのでしょうか?実はこのお母さんは、洗濯物を取り込むだけでなく、たたんで片付けてほしかったということです。人間は阿吽(あうん)の呼吸、つまり相手の気持ちを察することが出来るので、必ずしも全てを言葉にする必要はありません。

しかし、コンピュータは人間のように察することが出来ません。必ず、結果・ゴールとそれに至るまでの手順をしっかり伝える必要があります。その為には、どの手順が最適なのか考えなくてはなりません。上記の例であれば、もし「たたむ」というプロセスを省いてしまうと、取り込んだ状態のままの洗濯物がクローゼットに押し込まれるわけです。これは極端な例ですが、プログラミングは正しい手順で正しい処理を行わなければ、望んだ結果が得られません。

また、プログラミング学習者の悩みのタネが「エラー」です。エラーが発生したら、どこに問題があってどうすれば解決出来るのかを考える必要があります。記述したコードを一つ一つ追っていき、エラーの原因になっている箇所を特定します。

そして、どのように解決するかを考え、実行します。このプロセスによって、プログラミングのエラー解決だけでなく、あらゆる課題に対する問題解決能力が養われるます。

つまり、プログラミング学習によって、自然な流れで論理的思考と問題解決の練習をしている。それだけでなく、もちろんプログラミングスキルも身につきます。だからこそ、プログラミング学習が注目されています。

論理的思考ができるようになるとどうなるか

これまで説明したように、論理的思考ができるようになると問題解決能力が養われ、より効率的に仕事ができるようになります。ここで、先ほどの例をもう一度考えてみましょう。

あなたはお母さんの言いつけ通りに洗濯物を取り込みました。このように、言われたことはできるのです。

しかし、「たたんで片付ける」という行動は、自ら考えて行う必要があったということです。

  • 「頑張ってるのに思ったように結果が出ない」
  • 「上司からダメ出しされる」

上記のような悩みを抱えている人は、「論理的に物事を考え、ゴールを達成するための手順や順序を導き出して実行する」という事が出来ていない場合が多いです。学生時代は先生や大人が教えてくれて、その通りにやっていれば問題はありませんでした。

しかし、社会に出てからは自分の頭で考えて行動しなければなりません。そして、それを手助けしてくれるのが論理的思考です。「収入が増える」といったメリットは、プログラミングを学ぶ事で得られる副産物だとお話ししました。ではなぜ、このような副産物が生まれるのでしょうか。

それは、ゴール(収入アップ)を達成する為に、論理的に考えて最適な手順を導き出し、実行できるようになるからです。プログラミングも所詮はツールの1つでしかありません。ただプログラミングをしているだけでは、あなたが叶えたい夢や願望は実現できません。繰り返しになりますが、大切なのは、あなた自身の頭で考え、実行する事です。それを手助けしてくれるのが、論理的思考です。

書籍・本

出典:小・中・高等学校でのプログラミング教育実践 ─問題解決を目的とした論理的思考力の育成─

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ハンドルネーム:Ryo

SNSアカウント:Twitter

ブログ経歴:2022年7月開始

趣味:映画鑑賞・神社仏閣巡り

仕事:現在フリーランスとして活動しております。

始めた理由は、ITエンジニアになる為に必要なスキルだと思いはじめました。ブログの方針ですが、自身に基づいた内容を記載していきます。

人生に必要な役に立つ事柄など、大きく分けて5つ程です。

①:プログラミング・ITエンジニアに関すること
②:仕事・ビジネス・お金に関すること
③:対人関係などのコミュニケーションに関すること
④:暮らしに役立つ雑学・勉強に関すること
⑤:趣味や実体験に基づいてに関すること

目次