子どもがMinecraft(マルチプレイ)で遊ぶ意外なメリット

だんだんと涼しくなってきましたね。

今年の夏休みから、教室の生徒さん向けにMinecraftのサーバーを解放しています。

ほとんど毎日、プログラミングを勉強している生徒さんがログインされて、私や息子も一緒になって遊んだりしています。

遊び方は、それぞれ違っています。

建築をするのが好きな人、冒険したい人、他の人の手伝いをするのが好きな人など…。

ゲーム中のコミュニケーションは、チャットを使っています。

最初は「チャットだけで大丈夫かなー」と思っていたのですが、すぐに不安はなくなりました。

みんな積極的にチャットで協力したり(時にはケンカも)したりしています。

そのこと自体にも驚きましたが、感心したのは、みんなタイピングが速いこと。

そして、どんどんスピードアップしている気がします。

子ども達同士のチャットが、互いに良い練習になっているようですね。

Minecraft(のマルチプレイ)は、タイピングの練習にもなりますよ、というお話でした。

 

競技プログラミングって何?

競技プログラミングという言葉を聞いたことあるでしょうか?

競技プログラミングとは

競技プログラミングとは、プログラマ同士で、プログラミング技術を競い合うための「競技」です。

例えば、これこれのパズルを解くプログラムを書きなさい、といった課題を与えられます。

問題の内容は、迷路の最短経路を調べたり、何かの確率を計算したりと、色々なものがあります。

競技に参加するプログラマは、そのような問題を自分で考えるのでは無く、プログラミングをして自動的に答えを出せるようにするのです。

ただプログラミングするのではなく、以下のような事が競技の「得点」として計測されます。

  • 提出したプログラムが正しく動いたかどうか
    様々なケースで提出されたプログラムが正しく動作するのかがチェックされて、採点されます。
  • プログラミングするのにかかった時間
    早く提出できたほうが得点が高くなります。
    制限時間が設定されていることもあります。
  • プログラムがパズルを解くのにかかった時間
    提出されたプログラムがパズルを解くのにかかる時間が計測されます。
    これも短ければ短いほど得点が高くなります。
    (例えば、単純に「総当たり」で答えを探すようなプログラムだと非常に遅くなってしまい得点が低くなります)

TopCoder

競技プログラミングの世界で有名なのは「TopCoder」というWEBサイトで、世界中から数千人のプログラマーが常時、腕を競うために参加しています。

このサイトの中でも上位数パーセントのプログラマーには「レッドコーダー」という称号が与えられ、競技プログラミングの世界では一目置かれる存在です。

レッドコーダーは、日本人にも十数人しかおらず、アスリートのように毎日(プログラミングの)練習をしないと到達できない境地だそうです。

実際に役に立つか?

こういった競技で競われるプログラミングスキルは、一般的なプログラマーの仕事ではあまり使われません。
あくまでも「競技」としてのものです。

しかし、その他のスポーツと同様に、賞金付きの大会なども開かれています。

また、大きな大会の上位入賞者には一流企業から転職のオファーが来たりするそうです。

日々進歩していく新しい技術は、こういった競技で活躍できる人達が生み出しているのかも知れませんね。