アルゴリズムとは、コンピュータで処理を行う時の「処理方法」のことです。何か物事を行う時のやり方や手順を工夫して、より良い方法を見つけることを「アルゴリズムを考える」と言います。同じ処理をするにしても、もっと良い方法で行えば効率的に処理ができる・・・などです。
アルゴリズムの種類には、Googleの検索アルゴリズム、迷惑メールを排除するアルゴリズム、暗号化アルゴリズムなどがあります。
また、アルゴリズムには、仕組みを作るという意味合いもあり、その仕組みがあれば誰がやっても同じ結果が得られるというのも重要な概念です。
例えば、NHKの「アルゴリズム行進」では、『すべて異なるいくつかの動作を順に組み合わせ、それを後ろの人が一つずつ動作をズラしながら行進を繰り返す』というアルゴリズムによって、前後の人には絶対にぶつからない行進というのが成立します。
この仕組みを覚えれば、誰がやっても同じ結果が得られ、前後にぶつかることなく行進できます。これを利用して、授業でもグループごとに新しい「アルゴリズム体操(行進)」を考えようというのも、プログラミング的思考力を育む上では、非常に有効です。
また、コンピュータ・プログラムにより制御された機械の仕組みを、想像したり考えたりすることも、アルゴリズムを理解する上では重要です。可能な限り、コンピュータを導入するに至った背景なども併せて説明すると理解が深まるのではないかと思います。例えば、自動改札機の誕生の背景とその仕組みです。
自動改札機がまだなかったころ、駅員がそれぞれの持ち場に立ち、乗客ひとり一人の切符を一部分だけ切っており、切った形でどこの駅から乗車したかが分かるようになっています。
このような時代から現在のICカードを利用した自動改札機が誕生しましたが、その背景にはどのようなことがあったのかを考えさせることが“仕組み”を知る第一歩です。
都心部では年々利用者が増加し、改札を通るだけで混雑していたこと、駅員も切符を切っている間は他の仕事はできません。そのため人件費も余分にかかってしまっていたでしょう。路線が増えたり、料金の改定が行われたり、駅員の目視だけで正しい料金の切符かどうか判断するのも非常に困難だったでしょう。利用者側からも利便性を求める声がたくさんあったかもしれません。
これまでの数多くの課題を解決すべく、コンピュータ制御による券売機や自動改札機が誕生し、改良を重ねて現在の姿になりました。下図はその仕組みを簡略したものですが、これをわずか「0.1秒」程度で行います。
このアルゴリズムにより、交通系ICカードであれば他の種類のカードでも、スマートフォンに内蔵されたICチップでも使用することができ、改札機も正常に動作します。
このように児童の生活に身近なもので、コンピュータ・プログラムへの興味関心を惹くものを題材にするのが良いかと思います。これまで存在しなかった時代と情報化社会と比べ、どれほどの恩恵を受けているのか実感することができれば、このような“仕組み”を創造すること、実際に作り出すことが、いかに価値のあることかが少しずつ理解できるのではないでしょうか。
▼続きはこちら
アンプラグド・プログラミング教材 ここでは、アンプラグド・プログラミング教材案について書いていきたいと思います。現役の先生や教育学部の大学生の皆さんの参考になれば幸いです。 「アンプラグド」とは電源を入れない。つまり、こ […]
お題:交通系電子マネーを使って自動販売機でジュースを購入する <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重要な部分を捉える […]
お題:各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない) <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重 […]
お題:前回のお題を各視点に分けて考えてみる アンプラグド・プログラミング教材(3)のお題だった、「各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない)」に対して、少し混乱を招く表現が存在するので、今回は […]