SlideShare a Scribd company logo
1 of 46
Download to read offline
2011/10/6 Group Meeting
今日やること
第1回プログラミングコンテスト
ええっっっ!?w(゚ロ゚)w
社内最強のプログラマを
  決定します!
形式:
提示された仕様を充たすプログラムを
     書いてください。
問題は1問。制限時間は30分。
たとえばこんな感じ。
Hello World問題(制限時間30分)
• 仕様
 – 引数で与えられた人名に対してあいさつをする
 – 引数がなければ、”Hello, World!”とあいさつする
• 引数
 – [0]=人名(省略可)
• 実行例
 – [0]=John
   →Hello, John!
 – [0]=(省略)
   →Hello, World!
実行例とサンプルコード(C#)
言語はC#またはPerl。
どちらも苦手という人は挙手!
回答が終わったら手を挙げる。
それ以降、コードの変更はできない。
ググって良し。
ただし、メインロジックは自分で考える。
評価方法
みんなの前で動作確認&ロジックの
 解説をする。制限時間は5分。
各自で自分が良いと思ったプログラマ
   3人を選ぶ。理由付きで。
自分で自分に投票してもいいよ!
1位:3点、2位:2点、3位:1点。
合計得点が多い人が優勝!
ちなみにマネージャーも
  投票します!!
私は出題者なので評価対象外。
でもプログラミング&投票はします♪
なお、速く回答できた上位3名には
ボーナスとして3点をプレゼント!
ところで優勝すると何かくれるんですか、
      マネージャー?
ちょっと遅くなりましたが、この
コンテストの目的を説明します。
プログラミングコンテストの目的
• 自分のスキルを相対的に評価する。
 – 課題が同じなので相対的な評価が可能。
 – 実務では同じ課題に同時に取り組むことはない。

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

• 良い意味でメンバー内の競争心をあおる。
 – チームワークがいい = みんな同じスキル、ではない。
 – 負けたくない、一番になりたいという気持ちも大事!
ここまで何か質問ある?
では全員戦闘態勢に付けっ!
よういドン!
でコードが書ける状態にせよ
では始めますよ。
よおおおおお~~~~~い・・・
ドン!
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
 – 実際にはスペースではなく、改行して区切る
はい、それまで!!
動作確認&説明タイム
説明する人
• 動作確認
 – こちらが提示する引数を与えて実行してください。
• プログラムの説明
 – どんなロジックで書いたのか説明してください。
 – 何かアピールポイントがあればそれも説明してください。
• 制限時間は5分です。
 – オーバーしたら打ち切ります。

• 私は最後に説明します。
評価する人
• 良いと思ったプログラマ3人を選んでください。
   – 投票用紙を配ります。
• 3人に順位を付けてください。
• どういう点が良いと思ったのか理由を付けてください。
• 自分=最強、それもアリです。
• 時間があまりないので質問は原則無しとします。

• 私は評価対象外です。
評価ポイント
• バグが無いか?
• 読みやすいか?
 – インデント、変数名、関数名、コメント、etc
• 保守しやすいか?
 – コードの重複が無い、変更に強い、etc
• 実行効率が良いか?
 – 実行速度が速い、メモリの使用量が少ない、etc
• 異常系入力を考慮しているか?
 – 変な落ち方をしないか?
• その他、あなたの感性で。
あ、解説中に自分のコード
書きなおしちゃダメですよ!
では最初の方、どうぞ~~。
テストパターン
• 正常系
 – 1, 3, 5, 15, 100
• 異常系
 – 引数の数なし、引数2個
 – 0, -1 (ゼロまたはマイナス)
 – フォーマット異常
    • 10.5, 0x12 (実数、16進数)
    • 全角の10
    • abc, #%$
投票タイム
評価する人(再)
• 良いと思ったプログラマ3人を選んでください。
   – 投票用紙を配ります。
• 3人に順位を付けてください。
• どういう点が良いと思ったのか理由を付けてください。
• 自分=最強、それもアリです。
• 時間があまりないので質問は原則無しとします。

• 私は評価対象外です。
では開票しましょう。
優勝したxxxさん、おめでとう~!!
       \(^O^)/
お楽しみいただけましたか?
それでは第2回プログラミングコンテスト
    でお会いしましょう~!
完

More Related Content

Similar to The FizzBuzz Programing Contest

議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」nishikawa_makoto7
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)nishikawa_makoto7
 
プログラミング勉強会
プログラミング勉強会プログラミング勉強会
プログラミング勉強会ssuser50bb47
 
Scrum Boot Camp 体験記 2012/6/16
Scrum Boot Camp 体験記 2012/6/16Scrum Boot Camp 体験記 2012/6/16
Scrum Boot Camp 体験記 2012/6/16唯史 塩井
 
Php勉強会スライド
Php勉強会スライドPhp勉強会スライド
Php勉強会スライドsuzumurashingo
 
Scrum体験スパルタワークショップ
Scrum体験スパルタワークショップScrum体験スパルタワークショップ
Scrum体験スパルタワークショップYou&I
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験についてRakuten Group, Inc.
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編Yusuke Ito
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門You&I
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 
ぼくたちの現場リファレンス活用ワークショップ
ぼくたちの現場リファレンス活用ワークショップぼくたちの現場リファレンス活用ワークショップ
ぼくたちの現場リファレンス活用ワークショップMasanari Motohasi
 
03 manual writing20130423
03 manual writing2013042303 manual writing20130423
03 manual writing20130423和也 高山
 
DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)広告制作会社
 

Similar to The FizzBuzz Programing Contest (20)

議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)PFPファシグラ(2009/07/03)
PFPファシグラ(2009/07/03)
 
プログラミング勉強会
プログラミング勉強会プログラミング勉強会
プログラミング勉強会
 
20120508 アジャイルサムライ読書会 第3回
20120508 アジャイルサムライ読書会 第3回20120508 アジャイルサムライ読書会 第3回
20120508 アジャイルサムライ読書会 第3回
 
Scrum Boot Camp 体験記 2012/6/16
Scrum Boot Camp 体験記 2012/6/16Scrum Boot Camp 体験記 2012/6/16
Scrum Boot Camp 体験記 2012/6/16
 
Php勉強会スライド
Php勉強会スライドPhp勉強会スライド
Php勉強会スライド
 
Scrum体験スパルタワークショップ
Scrum体験スパルタワークショップScrum体験スパルタワークショップ
Scrum体験スパルタワークショップ
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
Jacet2014ykondo_final
Jacet2014ykondo_finalJacet2014ykondo_final
Jacet2014ykondo_final
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 
ぼくたちの現場リファレンス活用ワークショップ
ぼくたちの現場リファレンス活用ワークショップぼくたちの現場リファレンス活用ワークショップ
ぼくたちの現場リファレンス活用ワークショップ
 
読書会Vol6
読書会Vol6読書会Vol6
読書会Vol6
 
20120529 アジャイルサムライ読書会第6回
20120529 アジャイルサムライ読書会第6回20120529 アジャイルサムライ読書会第6回
20120529 アジャイルサムライ読書会第6回
 
作文入門
作文入門作文入門
作文入門
 
03 manual writing20130423
03 manual writing2013042303 manual writing20130423
03 manual writing20130423
 
DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)DevLOVE関西2012 Drive 講演資料(iBook)
DevLOVE関西2012 Drive 講演資料(iBook)
 

More from Junichi Ito

起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~Junichi Ito
 
About Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbAbout Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbJunichi Ito
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方Junichi Ito
 
CodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyCodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyJunichi Ito
 
How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3Junichi Ito
 
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_studyJunichi Ito
 
Twilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyTwilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyJunichi Ito
 
give IT a try 読者向けオフ会
give IT a try 読者向けオフ会give IT a try 読者向けオフ会
give IT a try 読者向けオフ会Junichi Ito
 
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)Junichi Ito
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? Junichi Ito
 

More from Junichi Ito (11)

起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
 
About Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbAbout Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rb
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方
 
CodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyCodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_study
 
How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3
 
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
 
Twilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyTwilio+rails+sms #sg_study
Twilio+rails+sms #sg_study
 
give IT a try 読者向けオフ会
give IT a try 読者向けオフ会give IT a try 読者向けオフ会
give IT a try 読者向けオフ会
 
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
 
Procon 20111031
Procon 20111031Procon 20111031
Procon 20111031
 

Recently uploaded

情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 

Recently uploaded (12)

情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 

The FizzBuzz Programing Contest