summer_tree_home

Check iOでPython3をマスターするぜっ

CheckiOを始めて3週間になるので、ちょっと感想&小ネタ

CheckiOを始めて3週間。1日1~2問のペースで、ほぼ毎日続いている。
現在のステータスはこんな感じ。

レベル 10
経験値 1139
クリアしたミッション 29
集めたバッジ 8

http://www.checkio.org/user/natsuki/

CheckiOのここがイイ

やってて楽しい

よくプログラミングの本に、章末の例題が付いてたりするが、ああいうのってやったことがない。じゃあ、なんでCheckiOだと毎日やってしまうのか考えてみると、

  • 問題を解くと経験値がもらえて、レベルアップしていくのが嬉しい
  • 経験値を貯めると、新しく行ける場所が増えるのも嬉しい
  • 自分の解答を他の人に「いいね!」されると嬉しい

我ながら単純だなぁと思うけど、本当にこんなもんで、やる気が出るのだから人間って面白い。

他の人の解答がとても参考になる

CheckiOでは、まず自分で解いてからでないと、他の人の解答を見ることができない。
これが良くできた仕掛けで、自分で苦労して解いてみて、それから他の人の解答を見ると「あーそういうやり方があるのか!」と感心したり、自分のスキルの低さに凹んだりする。もし自分で解く前に他の人の解答を見ても、「へー」で終わってしまうだろう。

Pythonを効果的に学べる

Pythonを始めて4ヶ月ぐらいになるけど、Pythonを覚えるために、まず入門書を一冊ざっと読んで、あとは実践で何か作りながら、困ったらググるという方法でやってきた。
自分では一通り使えるようになったつもりだったけど、CheckiOやってると、今まで使ったことのないPythonの機能を使う機会が多い。独学でやってると、どうしても自分の得意分野ばっかりやってしまうけど、CheckiOだと幅広く学ぶことができる。

CheckiOのここがツライ

英語

問題文も、掲示板もすべて英語なので、英語が苦手な私には辛い。コードを書くときも、関数名や変数名のスペルが間違ってたらカッコ悪いなと思って、公開前には辞書サイトで確認してしまう。ただ、3週間やってると少し慣れてきて、前ほど苦手意識はなくなったかな。

数学

たまに数学の知識を前提にした問題があって、これってPythonというより数学の問題じゃないの?って言いたくなる。プログラマーだからって、全員が数学得意だと思わないでくれ(泣)

アルゴリズム

今まで「アルゴリズムなんて勉強しなくても困らない」って思ってたけど、やっぱり困るね。
知っている人ならすぐに解ける問題でも、知らない人は何十時間考えてもわからないことって多い。
CheckiOをやってて、自分の知識不足を痛感した。今からでもちゃんと勉強しよっと。

CheckiOの小ネタ

経験値(ポイント)の稼ぎ方

経験値を取得するには、自分の解答を公開(Publish)するのが手っ取り早い。このときカテゴリをUncategorizedではなくClearにしておくと、他の人の目に付きやすいので、「いいね!」(Vote)による経験値もゲットしやすい。ただ、ときどき「おまえの解答はClearカテにふさわしくねーよ」的なツッコミをされることもあるのが諸刃の剣。

チェキオなの?チェック・アイオーなの?

YouTubeの動画を見ると、チェック・アイオーって言ってるなぁ。

ユーザー数は何人ぐらいだろう?

正確なユーザー数はわからないが、最初の問題をクリアするともらえるバッジ Great start を取得したのが、14064人とのことだ。(2014/03/09 20:46の時点)

ちなみにアンケート結果によると、日本人比率が一番多いらしい。やっぱり先日のアプギガの記事がきっかけで始めた人が多いのかな。(私もそう)

問題は、全部で何問あるの?

トップユーザーのクリアミッション数を見てみると、一番多い人で90問だろうか。問題は、次々に追加されているので、もっと増えるだろう。まだまだ先は長いなー。

バッジは何個ぐらいあるんだろう?

これもトップユーザーを見ていると、36個もってる人が最多かな?条件が「月間トップになる」なんてのもあるので、私には全部揃えるのは無理そうだ…。
バッジは、もっと簡単なものを大量に用意してほしいところ。

使えるモジュールは?

importできるモジュールの一覧はこちら。sysは使えない。
Supported Modules for Python 3.3 - Checkio-wiki
Supported Modules for Python 2.7 - Checkio-wiki



最近は、かなり難しい問題も多くてなかなか進まないが、全問クリア目指して続けていくつもり。