「アルゴリズム思考」を身につけたいと思うワケ
こんにちは!アルゴリズミクス世田谷です。
今回はプログラミングの世界で切っても切れない「アルゴリズム」についてお話ししていきましょう。
アルゴリズムって何?
「アルゴリズム」。よく聞くけれど今ひとつ意味が掴めない。そう思っている人も多いのではないでしょうか。
Wikipediaによれば
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
「計算可能なことを計算する、形式的な手続きのこと」と言っています。
なんだかよくわかりません(笑)
一方、文部科学省は小学校でのプログラミング教育を推進していますが、その文科省が発行した「小学校プログラミング教育の手引き(第二版)」によると、「アルゴリズム」とは「問題を解決する手順を表したもの」と書かれています。
また、『アルゴリズム図鑑』(翔泳社)によると、
アルゴリズムは、計算や作業を遂行するための手段のことであり、「厳密である」ことが特徴だと言っています。
ではアルゴリズム思考って何?
アルゴリズム思考とは、アルゴリズム的に考えることで、「効率よく解決するための筋道や順序を考えること」を意味しています。
ではアルゴリズム思考を身につけると、どんなメリットがあるのでしょうか?
例えば
✔︎目的を達するまでの道筋が明確化する
✔︎スムーズに作業を進めるためのコツがわかる
✔︎「計画性」や「効率性」を身につけることになる
などがよく言われています
目標に向け、クオリティの高いものをアウトプットできることにつながるのですね
具体的に、アルゴリズム思考を学ぶ方法
ではどのようにこのアルゴリズム思考は身につけられるのでしょうか。
一つの方法として「フローチャート」という、アルゴリズムを図式化したものを使うことに慣れるという方法があります。
下記は、アルゴリズミクス世田谷で、Pythonのクラス(対象年齢11-13歳)を取っている子どもたちが使うワークブックです。
「フローチャート」を使っています。
フローチャートは、一つ一つの命令(コマンド)が、どのようにつながり、どのような動きをするかを表現した図式です。
文字ではなく、絵を使うことで、共有したい内容がより「スムーズ」に伝わるだけでなく、自己との対話においても、利用できます。
視覚的に情報を捉えることができるので、仕事を効率よく、そして無駄なく進めることができます。また人とコミュニケーションを取る際に、こうした流れを身につけることで、順序立てて説明したり、情報を共有していくことができるようになります。
こうして最終的に「限りなく手順を減らし、作業を簡略化することができる」ようになるのです。
ところで、前回ロシアという国がこの「アルゴリズム」の分野で、他国に比べて秀でている、というお話をしました。
世界のプログラマー三大出身国の一つが「ロシア」って知っていますか?
アルゴリズミクスは、プログラミングの基礎になる仕組みそのものである「アルゴリズム」を考えるのが得意なロシアで生まれたプログラミングスクールです。
どんなレッスンなのか興味をお持ちになった方は、
ぜひお子さんの体験レッスンにご同伴ください!