Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2011/10/6 Group Meeting
今日やること
第1回プログラミングコンテスト
ええっっっ!?w(゚ロ゚)w
社内最強のプログラマを  決定します!
形式:提示された仕様を充たすプログラムを     書いてください。
問題は1問。制限時間は30分。
たとえばこんな感じ。
Hello World問題(制限時間30分)• 仕様 – 引数で与えられた人名に対してあいさつをする – 引数がなければ、”Hello, World!”とあいさつする• 引数 – [0]=人名(省略可)• 実行例 – [0]=John   →H...
実行例とサンプルコード(C#)
言語はC#またはPerl。どちらも苦手という人は挙手!
回答が終わったら手を挙げる。それ以降、コードの変更はできない。
ググって良し。ただし、メインロジックは自分で考える。
評価方法
みんなの前で動作確認&ロジックの 解説をする。制限時間は5分。
各自で自分が良いと思ったプログラマ   3人を選ぶ。理由付きで。
自分で自分に投票してもいいよ!
1位:3点、2位:2点、3位:1点。合計得点が多い人が優勝!
ちなみにマネージャーも  投票します!!
私は出題者なので評価対象外。でもプログラミング&投票はします♪
なお、速く回答できた上位3名にはボーナスとして3点をプレゼント!
ところで優勝すると何かくれるんですか、      マネージャー?
ちょっと遅くなりましたが、このコンテストの目的を説明します。
プログラミングコンテストの目的• 自分のスキルを相対的に評価する。 – 課題が同じなので相対的な評価が可能。 – 実務では同じ課題に同時に取り組むことはない。• 他人のロジックから新しい発見を得る。 – 良いコード、悪いコード(?)に関する知識...
ここまで何か質問ある?
では全員戦闘態勢に付けっ!
よういドン!でコードが書ける状態にせよ
では始めますよ。
よおおおおお~~~~~い・・・
ドン!
Fizz Buzz問題(制限時間30分)• 仕様 –   1から順番に数を表示する –   その数が3で割り切れるなら"Fizz“ –   5で割り切れるなら"Buzz“ –   両方で割り切れるなら"FizzBuzz"と表示する• 引数 – ...
はい、それまで!!
動作確認&説明タイム
説明する人• 動作確認 – こちらが提示する引数を与えて実行してください。• プログラムの説明 – どんなロジックで書いたのか説明してください。 – 何かアピールポイントがあればそれも説明してください。• 制限時間は5分です。 – オーバーした...
評価する人• 良いと思ったプログラマ3人を選んでください。   – 投票用紙を配ります。• 3人に順位を付けてください。• どういう点が良いと思ったのか理由を付けてください。• 自分=最強、それもアリです。• 時間があまりないので質問は原則無し...
評価ポイント• バグが無いか?• 読みやすいか? – インデント、変数名、関数名、コメント、etc• 保守しやすいか? – コードの重複が無い、変更に強い、etc• 実行効率が良いか? – 実行速度が速い、メモリの使用量が少ない、etc• 異常...
あ、解説中に自分のコード書きなおしちゃダメですよ!
では最初の方、どうぞ~~。
テストパターン• 正常系 – 1, 3, 5, 15, 100• 異常系 – 引数の数なし、引数2個 – 0, -1 (ゼロまたはマイナス) – フォーマット異常    • 10.5, 0x12 (実数、16進数)    • 全角の10    ...
投票タイム
評価する人(再)• 良いと思ったプログラマ3人を選んでください。   – 投票用紙を配ります。• 3人に順位を付けてください。• どういう点が良いと思ったのか理由を付けてください。• 自分=最強、それもアリです。• 時間があまりないので質問は原...
では開票しましょう。
優勝したxxxさん、おめでとう~!!       \(^O^)/
お楽しみいただけましたか?
それでは第2回プログラミングコンテスト    でお会いしましょう~!
完
Upcoming SlideShare
Loading in …5
×

The FizzBuzz Programing Contest

99,071 views

Published on

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

Published in: Technology
  • Be the first to comment

The FizzBuzz Programing Contest

  1. 1. 2011/10/6 Group Meeting
  2. 2. 今日やること
  3. 3. 第1回プログラミングコンテスト
  4. 4. ええっっっ!?w(゚ロ゚)w
  5. 5. 社内最強のプログラマを 決定します!
  6. 6. 形式:提示された仕様を充たすプログラムを 書いてください。
  7. 7. 問題は1問。制限時間は30分。
  8. 8. たとえばこんな感じ。
  9. 9. Hello World問題(制限時間30分)• 仕様 – 引数で与えられた人名に対してあいさつをする – 引数がなければ、”Hello, World!”とあいさつする• 引数 – [0]=人名(省略可)• 実行例 – [0]=John →Hello, John! – [0]=(省略) →Hello, World!
  10. 10. 実行例とサンプルコード(C#)
  11. 11. 言語はC#またはPerl。どちらも苦手という人は挙手!
  12. 12. 回答が終わったら手を挙げる。それ以降、コードの変更はできない。
  13. 13. ググって良し。ただし、メインロジックは自分で考える。
  14. 14. 評価方法
  15. 15. みんなの前で動作確認&ロジックの 解説をする。制限時間は5分。
  16. 16. 各自で自分が良いと思ったプログラマ 3人を選ぶ。理由付きで。
  17. 17. 自分で自分に投票してもいいよ!
  18. 18. 1位:3点、2位:2点、3位:1点。合計得点が多い人が優勝!
  19. 19. ちなみにマネージャーも 投票します!!
  20. 20. 私は出題者なので評価対象外。でもプログラミング&投票はします♪
  21. 21. なお、速く回答できた上位3名にはボーナスとして3点をプレゼント!
  22. 22. ところで優勝すると何かくれるんですか、 マネージャー?
  23. 23. ちょっと遅くなりましたが、このコンテストの目的を説明します。
  24. 24. プログラミングコンテストの目的• 自分のスキルを相対的に評価する。 – 課題が同じなので相対的な評価が可能。 – 実務では同じ課題に同時に取り組むことはない。• 他人のロジックから新しい発見を得る。 – 良いコード、悪いコード(?)に関する知識を深める。• 良い意味でメンバー内の競争心をあおる。 – チームワークがいい = みんな同じスキル、ではない。 – 負けたくない、一番になりたいという気持ちも大事!
  25. 25. ここまで何か質問ある?
  26. 26. では全員戦闘態勢に付けっ!
  27. 27. よういドン!でコードが書ける状態にせよ
  28. 28. では始めますよ。
  29. 29. よおおおおお~~~~~い・・・
  30. 30. ドン!
  31. 31. 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 – 実際にはスペースではなく、改行して区切る
  32. 32. はい、それまで!!
  33. 33. 動作確認&説明タイム
  34. 34. 説明する人• 動作確認 – こちらが提示する引数を与えて実行してください。• プログラムの説明 – どんなロジックで書いたのか説明してください。 – 何かアピールポイントがあればそれも説明してください。• 制限時間は5分です。 – オーバーしたら打ち切ります。• 私は最後に説明します。
  35. 35. 評価する人• 良いと思ったプログラマ3人を選んでください。 – 投票用紙を配ります。• 3人に順位を付けてください。• どういう点が良いと思ったのか理由を付けてください。• 自分=最強、それもアリです。• 時間があまりないので質問は原則無しとします。• 私は評価対象外です。
  36. 36. 評価ポイント• バグが無いか?• 読みやすいか? – インデント、変数名、関数名、コメント、etc• 保守しやすいか? – コードの重複が無い、変更に強い、etc• 実行効率が良いか? – 実行速度が速い、メモリの使用量が少ない、etc• 異常系入力を考慮しているか? – 変な落ち方をしないか?• その他、あなたの感性で。
  37. 37. あ、解説中に自分のコード書きなおしちゃダメですよ!
  38. 38. では最初の方、どうぞ~~。
  39. 39. テストパターン• 正常系 – 1, 3, 5, 15, 100• 異常系 – 引数の数なし、引数2個 – 0, -1 (ゼロまたはマイナス) – フォーマット異常 • 10.5, 0x12 (実数、16進数) • 全角の10 • abc, #%$
  40. 40. 投票タイム
  41. 41. 評価する人(再)• 良いと思ったプログラマ3人を選んでください。 – 投票用紙を配ります。• 3人に順位を付けてください。• どういう点が良いと思ったのか理由を付けてください。• 自分=最強、それもアリです。• 時間があまりないので質問は原則無しとします。• 私は評価対象外です。
  42. 42. では開票しましょう。
  43. 43. 優勝したxxxさん、おめでとう~!! \(^O^)/
  44. 44. お楽しみいただけましたか?
  45. 45. それでは第2回プログラミングコンテスト でお会いしましょう~!
  46. 46.

×