プログラミングの必修化とプログラミングコンテスト

生島 勘富

CODE VS 2.1というプログラマのコンテストをやっています(予選はもう終わり)
これが私がよく観るサイトのアドセンス広告にやたら目につく。まあ、私はIT系の検索ワードを多く使うからだろうけれど、アゴラなどでは1つの記事で、トップバナー、レクタングル、ボトムと3ヶ所も表示されるので嫌でも意識をしてしまう。


■CODE VS 2.1

私が気になってクリックするぐらいですから、もの凄い広告費を掛けているのでしょうか?ターゲッティングが素晴らしいというか、アドセンスの力を観たような気もしました。
その割に賞金総額100万円、優勝賞金50万円と、あんまり大した金額じゃないのが気になるのですが、目的はリクルーティングでしょうからね……。

この歳(42歳)というプログラマの世界ではとうの昔に定年を超えた私に、今更、コーディングコンテストもないのですが、タイミング良く中学校でのプログラミングの必修化について、まつもとひろゆき氏や小飼弾氏がコメントされていて、余計に気にちょっとやってみました。

結果は惨憺たるものでした。

まあ、ゲームをしない人間だからか解法が思いつかないので、プログラミングのしようがなかったというのが本音です。技術的なお話はこちらに続きを書きます

■競技プログラムに意味があるか?

この手の問題は競技プログラミングと呼ばれ、「意味がない」という人と、「勉強になる」という人が出てきます。

競技プログラムというのは、サッカーで言えばドリブルが速いとか、野球で言えばベースランニングが速いといった類いで、「あんまり意味がない」というのは、決してサッカーや野球の本質的な巧さを測るものではない、ということです。

しかし、基礎的で極めて重要な能力の一部であることは間違いありません。

競技プログラムも同じで、プログラマの中の極一部の能力ですが、非常に基礎的な能力を測ることができます。それが全てではありませんが、決して意味がない訳ではありませんから、馬鹿にしたりせず、時間があれば参加することは良いと思います。

今回のコンテストは社会人も参加可能なものでしたが、通常の「CODE VS」は12月頃に開催され、今年も開催されるそうです。
「CODE VS」は学生向けにリクルーティングのコンテストですから、プログラムを少しでもやったことがある学生は、是非とも、今年のコンテストにも参加して欲しいと思います。

上位に入れば、かなりの確率で就職先が決まりますよ!

■プログラミングの必修化について

なぜ、普段気にも留めない競技プログラムのコンテストが気になったかというと、タイミング良くプログラミングの必修化についての話題があり、それについてまつもとひろゆき氏が「どのように評価するか」という課題を挙げていたからです。

まつもとひろゆき氏が指摘されているとおり、プログラミング能力の評価などというのは、歌を唄ったり、絵を描いたりするのと同じような評価をすべきです。
中学レベルでは評価なんてやりようもないし、必要もないでしょう。

しかし、想像ですが、「力量を数値化したい」という考えが学校には強いのではないでしょうか。「どうしても数値化たい」と思えば、競技プログラムやソースコードの穴埋め問題などのテストをすることになるでしょう。

そうなったら、ハッキリ言って時間の無駄にしかならない。

高校から大学レベルの評価として、「競技プログラムの結果を加点として扱う」(実際に、ある種の企業に入るなら就活に有利ですよ)のであれば良いかも知れませんが、とかく日本では減点法で評価されます。

中学でプログラミングを教えるというのは、誠に結構なお話ですが、小飼弾氏が仰るとおり、中学レベルで評価は必要ありません。
とにかく、楽しさを伝えられたらそれで良いのです。

■こんな授業になったら

大阪市教育委員会で中学校の教育の手伝いをするというボランティアを募集しています。

そのボランティアに、プログラミングの必修化の話が出る前に、「土曜日にプログラムを教えます」という企画で応募しました。

ほとんどの中学にExcel、Wordの入ったパソコンがあるとのことでしたので、Excelのマクロでオセロを作る。というものにしました。(作った教材はこんな感じ

Excelマクロを選んだのは、全員がプログラムができるようにはならないだろう。しかし、一度でも、Excelの関数~マクロまで経験していれば、プログラミングができるようにならなくても、将来何らかの役に立つだろう。と考えてのことです。

教材は非常にシンプルですから、オセロが完成する頃には、子供の興味の方向性が5種類ぐらいのパターンに分かれるんじゃないかと考えています。

・もっと強いプログラムにしたい(プログラマ型)
・ビジュアルや音楽を付けたい(デザイナ・アーティスト型)
・もっと面白い台詞を言わせたい(ディレクタ・シナリオライタ型)
・実際に儲かるゲームにしたい(プロデューサ・営業型)
・遊ぶのに徹したい(評論家・営業型……テスターかな)

時間が間に合えば、それぞれの型に合った役割を与えて、別の言語でオリジナルを作る。プロでもプログラミング能力の力量は数十倍の差がでますので、中学レベルでは、もっと激しい差がでるはずです。中学生で一人で作ることができる子供もいるかも知れませんが、ほとんどの子供にとって「できない」だけを植え付けることになっては拙い。

しかし、チームでやれればプログラム以外のことも教えられるはずです。

……そんな企画を出しても、タダ(ボランティア)でも採用してくれる学校がないのですけどね……。

零細企業ではそんな教育はできず、「この型の人が欲しい」となるし、「型に嵌めた教育」になるのですが、逆に、学校はプログラマを育てる必要はないのです。
ですから、余裕を持って「評価」や「プログラミングをできるようになること」を気にしないで、楽しくプログラムができるように教えて上げて欲しいと思います。

余談ですが、大阪市で公立の中学校にお子さんを通わせている方がいらっしゃれば、学校にボランティアを採用するようにプッシュしてみてください。
ゲームに遊ぶ方に嵌まるより、作る方に嵌まった方がいくらかマシですよ(苦笑)

株式会社ジーワンシステム
生島 勘富
mail:[email protected]
Twitter:@kantomi