Python学院
メールマガジンバックナンバー

vol.40

  • コツ・知識
  • メールマガジン

プログラミング的思考(アルゴリズム思考力)とは
概要や鍛え方についてわかりやすく解説します

皆さんこんにちは!
株式会社インソースのPython学院事務局でございます。

今回のメルマガでは、「プログラミング的思考(アルゴリズム思考力)
について、事例も交えながらお話しいたします。

プログラミング的思考は、プログラミングだけでなく日常生活や仕事の進め方にも
非常に役立つ
考え方です。
ぜひお読みいただき、少しずつ鍛えていきましょう!


(約5分で読めます)

~~~~~~~~~目次~~~~~~~~~
1.プログラミング的思考(アルゴリズム思考力)とは
2.なぜプログラミング的思考が求められるのか
3.プログラミング的思考の具体例
4.アルゴリズム思考力の鍛え方
5.プログラミング学習を通して、アルゴリズム思考力を身につけよう
~~~~~~~~~~~~~~~~~~~~


1. プログラミング的思考(アルゴリズム思考力)とは


プログラミング的思考とは、「現在地から目的地に到達するために必要となる行動を、
1つ1つ簡単なレベルに分解し、正しい手順で行おうとする考え方
」のことです。

例えば、地図アプリの案内などは、まさにプログラミング的思考そのものです。
現在地と目的地がどれだけ離れていても、「直進」や「右折」「左折」などを
正しい順番で行うことで、目的に到達することができますよね。

このように、プログラミング的思考は、プログラミングだけでなく、日常や
仕事の進め方にも非常に役立ちます。


2. なぜプログラミング的思考が求められるのか


では続いて、なぜ現代では「プログラミング的思考」が求められるのかお話しします。
改めてプログラミング的思考とは「目的地の把握→タスク分解→手順の確認→実行
のように、分解して実行する考え方を指します。

プログラミングを行う際は、当然ですがこの考え方が必要となります。
なぜなら、思いついた順番で適当にコード(プログラム)を書いていると、
どこかで整合性が取れなかったり、意図しない動作になってしまったりするからです。

一方で、プログラミング的思考はプログラミング以外には役に立たないのでしょうか。
そんなことはない、と断言いたします。
なぜなら、皆さまが仕事を進める際にも少なからず、プログラミング的思考が登場しているからです。

仕事を進める際、「仕事のゴール」を正しく認識するかしないかでは、
当然ですが仕事の成果に差が生まれますよね。
また同様に、「この仕事ではどのような動きが必要か」という全体像を把握しないままでは、
必ずどこかに実行漏れなどミスが発生してしまいます。

どれだけ大きなプロジェクトを進めるとしても、それらを小さいタスク単位に分解すると、
「〇〇さんに連絡する」「レポートを作成する」など、誰にでも理解・実行できるタスクまで
落とし込むことができるでしょう。

このことから、情報過多の現代においては、プログラミング的思考が求められるのです。


3. プログラミング的思考の具体例


では次に、プログラミング的思考の具体例について見ていきましょう。

ここでは、カレー作りを例にプログラミング的思考を考えます。
(まったく関係ないですが、私は365日×3食連続でもいいくらいカレー好きです。)

ではまず、「カレー作り」においてのゴールを考えますが、これは言うまでもなく
「美味しいカレーを作ること」となります。

しかし、それでは抽象的すぎますよね。例えば、まだ料理をしたことがない
子どもに「美味しいカレーを作っておいて」とお願いしても、何もできないでしょう。
なので、以下のように必要となるタスクを分解して、正しく並べ替えることが求められます。

・カレーの材料(玉ねぎ、人参、じゃがいも、肉、カレールー)を一口サイズにカットする
・肉と野菜を炒める
・水を入れて沸騰するまで煮込む
・カレールーを入れる
・味見をしながら味を調整する

このように分解すると、1つ1つのタスク自体は、まだ料理をしたことがない子どもでも
理解・実行できるはずです。
このように、プログラミング的思考を用いることで、実際の行動自体もやりやすくなる
というメリットがあります。


4. アルゴリズム思考力の鍛え方


このように、日常生活や仕事においても役立つプログラミング的思考ですが、
あまり得意ではない方もいらっしゃると思います。

そこで普段の生活からできる「アルゴリズム思考力」の鍛え方をご紹介します。
それは「1日の中でやりたいことをリストアップして、実行する順番を決める」という
非常にシンプルで誰でもできる簡単なことです。

例えば仕事であれば、優先して取り組むべき順番があります。
着手できる仕事の中から「優先順位の高い仕事」や仕事の前後を確認し、
「その後に誰かが行う必要がある仕事」などを、優先して処理するように検討します。 たったこれだけで、アルゴリズム思考力を鍛えることができます。


5. プログラミング学習を通して、アルゴリズム思考を身につけよう


ここまで、プログラミング的思考について、具体例も交えながら解説しました。
4章でお話ししたように、日常生活の中でもアルゴリズム思考力は鍛えることができます。

また当然ですが、プログラミング的思考はプログラミングを行う上で必須の考え方なので、
プログラミングを学習することでも鍛えることができます。

最近、弊社では「アルゴリズム思考力」を鍛えることに特化したPython研修を
開発いたしましたので、ご興味がある方はぜひ一度そちらもご確認ください。

◆Python学院~アルゴリズム思考力向上編(1日間)
https://www.insource.co.jp/bup/python-algorithm.html

たくさんの演習問題を解きながらアルゴリズム思考力を徹底的に鍛えることができる
1日間の研修となっております。
「なんとなくプログラムを読むことはできるけど、自分がやりたいことをプログラムで
書こうと思うと、手が止まってしまう」という方には特におすすめの内容となっています!



最後までお読みいただき、ありがとうございました!
「インソースのPythonマガジン Vol.40」は、これで以上となります。

このメルマガでは今後も、Python学習に関するお役立ち情報、また社内のDX化を
主導するための具体的な方法や、弊社や他社さまのPython活用の事例など、
ビジネスの現場で真に活かせる有益な情報の提供を行ってまいります。

それでは、次回もお楽しみに!

関連研修