プログラマにならなくても「論理的思考力」と「アルゴリズム」は重要
「TOPSIC(Test of Programming Skills for International Coders)」は、企業などに採用されているプログラミングスキル判定サービスで、試験者が実際に書いたプログラミングを自動判定し、リアルタイムでスキルを測定することができる。プログラミングの熟練度はこれまで数値化することが難しかったが、TOPSICによって、「TOEIC」をはじめとした英語の標準的な試験のように、「実力を客観的に測定し、見える化」することが可能になった。
しかし、内田教諭は決して生徒の実力を測るためにTOPSICを導入したわけではない。
「TOPSICは、生徒達がアルゴリズムの楽しさを知るきっかけになると思っています。私にとっては、プログラミングをする上でアルゴリズムは当たり前のものですが、生徒達にとっては非常に新鮮に感じるようです」と、内田教諭は話す。
アルゴリズムの重要さについては、TOPSICを運営するシステムインテグレータ代表取締役社長の梅田弘之氏も、以下のように語っている。
「プログラミングを必要とする市場は大きいですが、プログラミングを書く上でアルゴリズムが根幹にあるという意識を持っている人は、現在非常に少ないです。また課題として、アルゴリズムの理解度を可視化できるツールが今までありませんでした。
そこで、TOEICを参考にして作り上げたのが「TOPSIC」です。プログラミングに対してしっかりと向き合っている立教池袋高等学校・中学校の数理研究部のような生徒さんだからこそ、TOPSICを通じて、学生の時点からアルゴリズムが重要であることを知ってほしいと思います」
そして、このTOPSICの問題を作成しているのは、競技プログラミングで数々の実績をもつスタッフが集う企業、AtCoderだ。同社の代表取締役社長である高橋直大氏は、自身も競技プログラミングにおいてチーム戦で世界一を3回、個人戦でも世界2位を2回取る実績を持つ実力者である。高橋氏は、7月に開催された数理研究部とAtCoderとの交流会において、論理的思考力とアルゴリズムの大切さを生徒達に熱く伝えた。
「論理的思考力は、プログラミングだけでなく、どんなジャンルにも役に立ちます。ITエンジニアやプログラマにならない場合でも、結局は『ものを作る』ことにつながっていくことが多いですし、プログラマに必要なものを伝えるためには、論理的思考力が必要です。
そして、コンピュータの計算を早くするための手法がアルゴリズムです。このアルゴリズムが得意な人は、プログラミングスキルがとても伸びます。アルゴリズムの力は、競技プログラミングやTOPSICを通じて鍛えることができるのです」
AtCoderでは、誰でも参加できるオンラインのプログラミングコンテスト「AtCoder(アットコーダー)」を開催している。コンテストは一般的に「競技プログラミング」と呼ばれており、出題された問題を解くためのプログラムを組み、正解数やプログラミングにかかった時間などを競う。プログラミング初心者でも気軽に挑戦することができるが、いかに「正確に早く解く」ことが問われるため、何度も挑戦するうちに自然にアルゴリズムを意識するようになると言う。
「競技プログラミングは楽しいからやっている人が多いです」と、高橋氏は話す。「AtCoder」は、同時接続者数において世界で3300人、日本では2000人超という数を誇り、今やブームになりつつある。
「競技プログラミングはネットゲームだと思っている」と断言する高橋氏は、同時にこうも語っている。
「実はそこで育つ人材の評価が高く、企業の採用においても非常に注目されています。これだけ評価され、世の中の役に立ち、勉強につながるネットゲームはないでしょう。そして競技プログラミングは数学に密接に結びついており、やっていく内に数学の力も鍛えられます。中学生や高校生にも、ぜひ一度体験してみてほしいですし、TOPSICはその導入の一つとなると思います」