46
2011/10/6 Group Meeting

The FizzBuzz Programing Contest

Embed Size (px)

DESCRIPTION

http://d.hatena.ne.jp/JunichiIto/20111007/1317976730

Citation preview

Page 1: The FizzBuzz Programing Contest

2011/10/6 Group Meeting

Page 2: The FizzBuzz Programing Contest

今日やること

Page 3: The FizzBuzz Programing Contest

第1回プログラミングコンテスト

Page 4: The FizzBuzz Programing Contest

ええっっっ!?w(゚ロ゚)w

Page 5: The FizzBuzz Programing Contest

社内最強のプログラマを決定します!

Page 6: The FizzBuzz Programing Contest

形式:提示された仕様を充たすプログラムを

書いてください。

Page 7: The FizzBuzz Programing Contest

問題は1問。制限時間は30分。

Page 8: The FizzBuzz Programing Contest

たとえばこんな感じ。

Page 9: The FizzBuzz Programing Contest

Hello World問題(制限時間30分)

• 仕様– 引数で与えられた人名に対してあいさつをする

– 引数がなければ、”Hello, World!”とあいさつする

• 引数– [0]=人名(省略可)

• 実行例– [0]=John

→Hello, John!

– [0]=(省略)→Hello, World!

Page 10: The FizzBuzz Programing Contest

実行例とサンプルコード(C#)

Page 11: The FizzBuzz Programing Contest

言語はC#またはPerl。どちらも苦手という人は挙手!

Page 12: The FizzBuzz Programing Contest

回答が終わったら手を挙げる。それ以降、コードの変更はできない。

Page 13: The FizzBuzz Programing Contest

ググって良し。ただし、メインロジックは自分で考える。

Page 14: The FizzBuzz Programing Contest

評価方法

Page 15: The FizzBuzz Programing Contest

みんなの前で動作確認&ロジックの解説をする。制限時間は5分。

Page 16: The FizzBuzz Programing Contest

各自で自分が良いと思ったプログラマ3人を選ぶ。理由付きで。

Page 17: The FizzBuzz Programing Contest

自分で自分に投票してもいいよ!

Page 18: The FizzBuzz Programing Contest

1位:3点、2位:2点、3位:1点。合計得点が多い人が優勝!

Page 19: The FizzBuzz Programing Contest

ちなみにマネージャーも投票します!!

Page 20: The FizzBuzz Programing Contest

私は出題者なので評価対象外。でもプログラミング&投票はします♪

Page 21: The FizzBuzz Programing Contest

なお、速く回答できた上位3名にはボーナスとして3点をプレゼント!

Page 22: The FizzBuzz Programing Contest

ところで優勝すると何かくれるんですか、マネージャー?

Page 23: The FizzBuzz Programing Contest

ちょっと遅くなりましたが、このコンテストの目的を説明します。

Page 24: The FizzBuzz Programing Contest

プログラミングコンテストの目的

• 自分のスキルを相対的に評価する。– 課題が同じなので相対的な評価が可能。– 実務では同じ課題に同時に取り組むことはない。

• 他人のロジックから新しい発見を得る。– 良いコード、悪いコード(?)に関する知識を深める。

• 良い意味でメンバー内の競争心をあおる。– チームワークがいい = みんな同じスキル、ではない。– 負けたくない、一番になりたいという気持ちも大事!

Page 25: The FizzBuzz Programing Contest

ここまで何か質問ある?

Page 26: The FizzBuzz Programing Contest

では全員戦闘態勢に付けっ!

Page 27: The FizzBuzz Programing Contest

よういドン!でコードが書ける状態にせよ

Page 28: The FizzBuzz Programing Contest

では始めますよ。

Page 29: The FizzBuzz Programing Contest

よおおおおお~~~~~い・・・

Page 30: The FizzBuzz Programing Contest

ドン!

Page 31: The FizzBuzz Programing Contest

Fizz Buzz問題(制限時間30分)

• 仕様– 1から順番に数を表示する

– その数が3で割り切れるなら"Fizz“

– 5で割り切れるなら"Buzz“

– 両方で割り切れるなら"FizzBuzz"と表示する

• 引数– [0]=終端の値

• 実行例– [0]=16

→1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16

– 実際にはスペースではなく、改行して区切る

Page 32: The FizzBuzz Programing Contest

はい、それまで!!

Page 33: The FizzBuzz Programing Contest

動作確認&説明タイム

Page 34: The FizzBuzz Programing Contest

説明する人

• 動作確認– こちらが提示する引数を与えて実行してください。

• プログラムの説明– どんなロジックで書いたのか説明してください。

– 何かアピールポイントがあればそれも説明してください。

• 制限時間は5分です。– オーバーしたら打ち切ります。

• 私は最後に説明します。

Page 35: The FizzBuzz Programing Contest

評価する人

• 良いと思ったプログラマ3人を選んでください。

–投票用紙を配ります。

• 3人に順位を付けてください。

• どういう点が良いと思ったのか理由を付けてください。

• 自分=最強、それもアリです。

• 時間があまりないので質問は原則無しとします。

• 私は評価対象外です。

Page 36: The FizzBuzz Programing Contest

評価ポイント

• バグが無いか?• 読みやすいか?

– インデント、変数名、関数名、コメント、etc

• 保守しやすいか?– コードの重複が無い、変更に強い、etc

• 実行効率が良いか?– 実行速度が速い、メモリの使用量が少ない、etc

• 異常系入力を考慮しているか?– 変な落ち方をしないか?

• その他、あなたの感性で。

Page 37: The FizzBuzz Programing Contest

あ、解説中に自分のコード書きなおしちゃダメですよ!

Page 38: The FizzBuzz Programing Contest

では最初の方、どうぞ~~。

Page 39: The FizzBuzz Programing Contest

テストパターン

• 正常系– 1, 3, 5, 15, 100

• 異常系–引数の数なし、引数2個

– 0, -1 (ゼロまたはマイナス)

– フォーマット異常• 10.5, 0x12 (実数、16進数)

• 全角の10

• abc, #%$

Page 40: The FizzBuzz Programing Contest

投票タイム

Page 41: The FizzBuzz Programing Contest

評価する人(再)

• 良いと思ったプログラマ3人を選んでください。

–投票用紙を配ります。

• 3人に順位を付けてください。

• どういう点が良いと思ったのか理由を付けてください。

• 自分=最強、それもアリです。

• 時間があまりないので質問は原則無しとします。

• 私は評価対象外です。

Page 42: The FizzBuzz Programing Contest

では開票しましょう。

Page 43: The FizzBuzz Programing Contest

優勝したxxxさん、おめでとう~!!\(^O^)/

Page 44: The FizzBuzz Programing Contest

お楽しみいただけましたか?

Page 45: The FizzBuzz Programing Contest

それでは第2回プログラミングコンテストでお会いしましょう~!

Page 46: The FizzBuzz Programing Contest