身近にあるパソコン、スマートフォン、ゲーム機のソフト(アプリ)。これらはすべてプログラムで動いています。また、家電や自動車、ロケットに至るまで、現代の生活はプログラムに支えられており、何かを創造するためにはプログラミング技術の修得は避けられません。
情報通信工学部通信工学科の1年次配当科目「プログラミング基礎演習」では、プログラミング経験がない初心者を対象に、基本的な概念からアルゴリズムの理解まで、幅広い内容を修得し今後に活かすことを目的に授業を行っています。
今回の講義のテーマである「ソート」とは、複数のデータからなる列を、何らかの順序性に基いて順番通りになるよう並べ替えることです。 数値列を大きい順または小さい順に並べたり、文字列をアルファベット順や五十音順に並べ替えたりすることがこれにあたります。通信工学科 村上恭通教授の授業「プログラミング基礎演習」で毎年恒例となっている「人間ソート」は、さまざまなアルゴリズムを学生自身がデータに扮して体験することで、数値や値で表されるプログラムの内容を理解し、知識を深める上で大いに役立っています。
「人間ソート」で体験したのは、アルゴリズムの中でも有名な次の5種類のソート法です。
「
最小値選択ソート」や「最小値交換ソート」「
バブルソート」といった基本的な理論と合わせ、実際にコンピュータなどに汎用されている「
クイックソート」を実演することで、そのスピード感を視覚的に理解することができます。さらに今年はバブルソートを改良したアルゴリズムである「
コムソート」も体験しました。
学生からは「様々なソート手法の違いや、速度感がよくイメージできた」「実際に体験することで、理論が理解しやすかった」との声を聞くことができました。
◆各ソートの概要について