s98116-3 円谷 真司
キーワード:アルゴリズム、Web教材、Delphi
アルゴリズムとは簡単にいえば「問題を解くための処理手順」のことです。プログラミングにおいてアルゴリズムとは、コーディングに入る前のプログラムの設計のことを言います。ある問題をプログラミング言語で書く場合、まず問題の内容を分析します。その問題を解くためにどのような処理がいるか、その処理をどのような手順で行うか、などということを決めていきます。この部分がアルゴリズムになります。アルゴリズムがしっかりしていれば、問題を実現するためのプログラムもしっかりしたものになるはずです。そのため、プログラミングを行う上で、アルゴリズムはとても重要になります。
アルゴリズムを学習する際、まず書籍を利用するでしょう。しかし、全体的に分かりにくいものが多い。理由としてはまず、ある程度の知識を前提としてかかれているもの、文章だけの説明しかしておらず、直感的に理解しやすい図などが不足しているなどがあります。たくさんある書籍の中には、そのような問題点に対して、難しい表現は避け、直感的に理解しやすい図などをたくさん用いて、解決を図ろうとしているものもあります。確かに分りやすくなっているのですが、アルゴリズムを理解する上では十分ではないと感じました。その理由は、アルゴリズムの処理が進んでいく、その動的な変化を文章や図だけでは表現しにくいためだと考えました。
そこで、紙媒体では限界があると考え、プログラミングBの受講者を対象にホームページという形式を用いてアルゴリズムを学習するための手助けとなるものを作ろうと考えました。ホームページという形式にしたのは、プログラムをダウンロードしてその場で見ることができる、関連部分にリンクをはれる、など本にはできないことができるからです。ホームページを作成する上で、わかりやすさに重点に置きました。そのための手段として、アルゴリズムの処理が進んでいく様子を文章や図の説明だけではなく、アルゴリズムの処理の過程を視覚的に確認することができるプログラムをDelphiで作成しました。
取り上げた内容は、プログラミングにおけるアルゴリズムについての説明、それにともないフローチャートや構造化の考えを説明し、次にプログラムでよく使うと思われる整列、探索のアルゴリズムを説明しています。最後に整列、探索で使った簡単なデータ構造を説明しています。全体として、なるべく文章だけの説明だけで終わらせずに、必要だと思えるところには図を付け加えました。また、関連部分にはリンクをはっています。整列、探索に関してはアルゴリズムの処理の過程を視覚的に確認することができるプログラムをDelphiで作成し、それを文章や図の説明の後に見せることによって、理解が容易になるように配慮しました。
今後の課題としては、まず説明した内容に対してより理解をしてもらうために、それに関する問題や課題などを付け加える必要があります。また内容として、今回説明することができなかったポインタの概念、それにともなう線形リストなどのデータ構造を付け加える必要もあります。
今回のホームページをWeb上で公開し、実際に学習した人の意見を取り入れ、見やすさ、分かり易さの改善を図って行くことも、今後の課題です。
指導教員:森田 彦