急速に盛り上がりつつあるプログラミング教育。
学ばせたいならオリエンテーリングも
体験させた方がなぜ良い、という
前回のお話しの続きです。
②アルゴリズムを作るとはどういうことか、ということを実体験として学べる
プログラミングもオリエンテーリングもやっていることは違いますが、「目的を達する」ということでは目指すことは一緒です。
プログラミングには「アルゴリズム」が欠かせない、と言います。
では、アルゴリズムとは何でしょう?
「ピタゴラスイッチ」でよく出てくる
「アルゴリズム体操」なんてのは聞いたことありますよね。
前回もご紹介した『子どもを億万長者にしたければプログラミングの基礎を教えなさい』の著者、松林弘治さんによると、
アルゴリズムとは、「問題を解く手順を表現したもの」だそうです。
プログラミングの場合は、何か機械を動かすとか、ロボットを動かすとかいうことが目的でしょう。
そうしたらまず、その目的をいかに効率よく、間違いが起こらないように達成すれば良いのか、
その具体的な手順をアルゴリズムと言うのです。
そして、
場合によっては複数の手順の中から最も良いと思われるものを選び出します。そして手順をコンピューターがわかるように書き下した手順書(プログラム)を作ります
もうお分かりですね。
オリエンテーリングの場合でも、
チェックポイントにたどりつくルートは複数考えられます。
どのルートが最も短かい時間でたどりつけるのかは
個々人の体力や読図能力によって異なります
こうした個人の技能や実際に通れそうな地形の情報を踏まえ、
どのようなルートを通っていくかを事前にプランニングし、
実行してタイムを競うのがオリエンテーリング競技です。
つまり、
オリエンテーリングで「自分の進むルートを考える」ということと「アルゴリズム」を考える、ということは全く同じこと
と言える訳です。
実際松林さんも著書の中で、
「アルゴリズムは日常生活の中に溢れている」と
述べられていて、
その一例として「移動経路を考える」ことを挙げています。
プログラミング、アルゴリズム、という専門用語がならぶと、
一見コンピューターだけの言葉のように思えますが、
「自分で考えて手順を考える」ことを学ぶ、
という共通点を考えると
オリエンテーリングとプログラミング教育は
きわめて相性が良いと言えるのです。
コメント