先週届いた情報処理学会の学会誌「情報処理」に「プログラミングコンテストチャレンジブック」や「世界で闘うプログラミング力を鍛える150問」の秋葉先生の記事が載っていました。
・きっかけと目的
・プログラミングコンテストとは
以上の2節は、主にプログラミングコンテストを知らない人向けの紹介ですね。特に目新しいところはなかったように思います。
一つだけ気になった点があります。この記事では
「最も盛んに開催されるTopcoder」
と書かれているのですが、数年前ならともかく、最近はCodeforcesの台頭などもあって、最も盛んに開催されるかどうか、怪しいような気がします。本論とは関係のない重箱の隅つつきですが、気になったので書いておきます。・プログラミングコンテストで問われるもの
ここからが本論ですね。短時間で数問の実装を行うコンテストについて、必要な力とそのつけ方を書いています。私がはじめて競技プログラミングした頃に比べれば随分変わってきた現状が見えて来るように感じました。プログラミングコンテストを知らない人に「競技プログラミングはこのような力を問うものだ」と紹介しているように感じました。
・プログラミングコンテストで活躍するために
既に知っている人にも、ある程度参考になる記事である反面、これからやろうという人には少し怖い気もする節です。この節で印象に残ったのは、やはりある程度時間をかけて問題を解かなければ伸びない、という事です。そしてこれは、初心者のハードルを上げかねないのではないだろうかという危惧を抱きました。書かれていることは事実であり、私自身かけられる時間が少ないためにあまり伸びていないという現状もありますから、この節の意見が正しいかどうかという点については何も言わなくてよいでしょう。
ただ、やはり「○○問解いている」ではなくて、「いろんな大会に参加している中で、練習も含めて、結果○○問に達した」と書いた方が、ハードルが低くなるのではないでしょうか。実力をつけてから楽しむのではなく、楽しみながら実力を付けるという事をもっと前面に出して欲しかったです。
なお、この節では、私も近年感じている「最近の中高生はレベルが高い」という点についても触れられており、未来を感じさせます。
・プログラミングコンテストに関する議論
面白さ・意義・批判などを載せています。プログラミングコンテストはあくまでプログラミングの楽しみ方の一つであって、それを楽しむことによってプログラミングの機会を増やし、様々な力の向上にも寄与する、とまとめられると思います。そして、「一つ」であるという点をしっかり意識すれば、大抵の批判は無力になるとも感じました。
・全体を通じて
この記事全体としては、競技プログラミングをよく書いた記事だな、と思います。ただ、秋葉先生の実力故か、いわばトップアスリート視点で書かれた記事である点、その視点からの脱却ができていなかった点が惜しいと思いました。
私のように、ある程度しかプログラミングができない人でも、競技プログラミングは楽しめます。また、「文法は習ったけど何を組めばいいかわからない初心者」の練習の場としての活用も考えられます(教義プログラミングの教育効果ですね)。紙面の都合もありましょうが、これらの点について書いたほうが、より初心者向けになったのではないかと思う次第で有ります。
なお、本記事を読まれた方には、追加で「目指せ!プログラミング世界一」をお勧めしたいと思います。現状、競技プログラミングの入門としては
「目指せ!プログラミング世界一」→チーター本こと「最強最速アルゴリズマー養成講座」→蟻本こと「プログラミングコンテストチャレンジブック」
というのがいいと思っています。(もちろん、紹介すべき本はまだまだあるのですが)
0 件のコメント:
コメントを投稿