Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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回プログラミングコンテスト    でお会いしましょう~!
完
Nächste SlideShare
Wird geladen in …5
×

The FizzBuzz Programing Contest

101.017 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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.

×