「繰り返しやる」ことが、アルゴリズムを考える力を鍛える近道
現在、数理研究部では、高校1年以上がTOPSICのアカウントを持っており、各々で挑戦を始めている。
「10年以上前にアルゴリズムを学び始めたときは、本以外の学ぶ手段がほとんどありませんでした。そのため、先生が問題を考え、限られていた数問をひたすら繰り返すような状況でした。
しかし、現在はTOPSICを利用することで、生徒は多くの問題に触れることができます。問題の種類が多い方がとっつきやすいようで、興味のある生徒ですとどんどん取り組んで、問題を次から次へとクリアしています。難問にあたって玉砕しても、TOPSICであれば何度も挑戦することができます」と内田教諭は、現在の活用状況を話す。
この「繰り返しやる」ことこそが、アルゴリズムを考える力を鍛える近道だと、梅田氏は言う。
「サッカーにおいて選手の基礎体力が重要なのと同様に、プログラミングにおいてもアルゴリズムの理解は非常に重要です。しかし、アルゴリズムを考える力は現在あまり訓練されていないのが現状です。その力を鍛えるには、基礎体力と同様にひたすらやることが手っ取り早いと考えています」
新科目「理数探究」への期待と構想
内田教諭によると、現在はTOPSICの利用は部活動内にとどまっているが、今後は授業での導入も視野に入れていると言う。
「数学の授業は非常に抽象的で、具体的な演習問題は山のようにありますが、今学んでいる数学は、現実世界においてどう結びつくのかという実感を伴った授業はほとんどありません。知る術がほとんどないため、『世の中のいろいろな場面で数学が使われているよ』といっても、生徒はピンときません。そこで、その"つなぎ"としてさまざまな事象を数字化して、プログラミング化してコーディングしてみる。ここでアルゴリズムを考えてプログラミング化できないと、その事象をコンピュータ化して再現させることは、おそらくできないと思います。
アルゴリズムは『数学は世の中の問題解決にこう役に立っている』という、中高の数学の中で欠落している部分を補えると思っています」
しかし、既存の教科の中に入れ込むのは難しいのも実情だ。そうした中、内田教諭は、2020年からの新学習指導要領で追加される新科目「理数探究」に期待を寄せている。
「この理数探究では『事象を分析しなさい』といったものも含まれているので、「ある事象を具体化してアルゴリズムを考え数式化する」ということができるのではないかと思っています。その上で、1つの方法として、TOPSICを活用することもできるのではと構想的には考えています」
まずは、第一段階として、理数研究部においてTOPSICの活用をさらに試みていく。内田教諭はTOPSICでアルゴリズムを習得する効果を以下のように話した。
「プログラミングでエラーが出た時に、アルゴリズムによる問題解決などの思考が加われば、生徒達がコーディングにかけている時間も減るのではとも期待しています。
また、アルゴリズムが考えられれば、違う言語で対応できるため、新しい言語を覚えるときに、非常にやりやすい環境を作ることできます。複数の言語を覚えたいと思っている生徒が違う言語で書き直した時に、自分が書いたものが合っているかどうかをTOPSICですぐに判定してもらえるからです。
最近は、C#(シ―シャープ)だけでなくPython(パイソン)を覚えたいという生徒が増えてきましたが、C#とPythonでは文法が異なります。そこで、自分の知っている知識をPythonに当てはめたらどうなるかということを、TOPSICでやってみることで一目瞭然になり、新しい言語をより簡単に身に着けることができるのではないかと思っています」
数理研究部の挑戦は始まったばかりだが、TOPSICの導入によって生徒たちにどんな効果がもたらされていくのか、そしてアルゴリズムという新たな武器を手にした生徒達がどのような作品を生み出していくのか、今後の活躍にも期待していきたい。
なお、TOPSICは公式サイトから、無料で「トライアル版」が体験できる。また、学校&企業対抗プログラミングコンテストが11月中旬に開催予定である。興味のある方は、ぜひ挑戦してみることをおすすめする。