Coderetreat in KIT 導入資料

26
CODERETREAT IN KIT 2014.05.31 08:30-17:00 金沢工業大学 扇が丘キャンパス

description

Coderetreat in KITでの導入資料です。

Transcript of Coderetreat in KIT 導入資料

Page 1: Coderetreat in KIT 導入資料

CODERETREATIN KIT

2014.05.31 08:30-17:00 金沢工業大学 扇が丘キャンパス

Page 2: Coderetreat in KIT 導入資料

Coderetreatとは?

• プログラミングを学ぶ練習の場です。 • ペアプロで課題に挑戦します。 • ワイワイ相談しながら楽しく良いコードを書いていきましょう。

Page 3: Coderetreat in KIT 導入資料

これがペアプロ

photo By By Daniel Dionne

Page 4: Coderetreat in KIT 導入資料

ペアプロとは?• ペアプログラミングの略 • 二人で一台のマシンを使ってプログラミングする

• ドライバーがキー入力を行う • ナビゲータが設計/問題がないか観察

Page 5: Coderetreat in KIT 導入資料

ペアプロのやり方• 最初の目標を決める • パートナーを頼りにし、支える • 何をしようとしてるか極力しゃべる • お互い何をしているか把握する • できたら喜ぶ • 5分程度で交代する

引用元: http://t.co/rRKYdZqvZq (著:結城浩)

Page 6: Coderetreat in KIT 導入資料

ペアプロを楽しくするコツ

• 経験の少ない人はドライバーを率先 • 誤りを見かけたら丁寧に指摘する • パートナーに敬意を

• ナビゲーターは口を出すだけでなく、時々手も出してドライバーになる

Page 7: Coderetreat in KIT 導入資料

スケジュール08:30 - 09:00 会場、趣旨説明、準備 09:00 - 09:45 ペアプロ セッション#1 09:45 - 10:00 ふりかえり#1 休憩 10:00 - 10:45 ペアプロ セッション#2 10:45 - 11:00 ふりかえり#2 休憩 11:00 - 11:45 ペアプロ セッション#3 11:45 - 12:00 ふりかえり#3 休憩 12:00 - 13:30 昼食 13:30 - 14:15 ペアプロ セッション#4 14:15 - 14:30 ふりかえり#4 (おやつのじかん) 14:30 - 15:15 ペアプロ セッション#5 15:15 - 15:45 ふりかえり#5 休憩 15:45 - 16:30 ペアプロ セッション#6 16:30 - 17:00 全体ふりかえり

Page 8: Coderetreat in KIT 導入資料

大事なこと !

Page 9: Coderetreat in KIT 導入資料

大事なこと セッション毎に コードを消す

Page 10: Coderetreat in KIT 導入資料

セッション中の注意

• プログラミング言語はなんでもOK

• 未経験言語はパートナーから教わろう • ただし、開発環境は皆さんが用意されたもので。(セッション中で準備は☓)

Page 11: Coderetreat in KIT 導入資料

より良いコードを 実装しましょう。

Page 12: Coderetreat in KIT 導入資料

課題

• 入門:うるう年の計算

• ふつう:コンウェイのライフゲーム

• チャレンジ:ボーリングスコア計算

Page 13: Coderetreat in KIT 導入資料

入門:うるう年の計算• 指定した年がうるう年かどうか判定してください。

• 4で割り切れる年はうるう年

• でも100で割り切れる年はうるう年ではありません。

• でもでも400で割り切れる年はうるう年

Page 14: Coderetreat in KIT 導入資料

ふつう:ライフゲーム bit.ly/YGb5SV

Page 15: Coderetreat in KIT 導入資料

チャレンジ:

ボーリングスコア計算 http://bit.ly/1k1rYGr http://bit.ly/1hxqOye

Page 16: Coderetreat in KIT 導入資料

チャレンジ課題• トライするかは自由 • If文禁止 • ループ禁止 • メソッド禁止 • 配列禁止 • ペア入れ替え等々

Page 17: Coderetreat in KIT 導入資料

ふりかえり• ホワイトボードに書こう • 気づいたこと • うまくいったこと • うまくいかなかったこと

• ハッシュタグ #coderetreat_kit

Page 18: Coderetreat in KIT 導入資料

諸注意• ゴミはゴミ袋に

• 午後の入退館について

• 飲み物はご自由に

• 食べ物はロビーで

• トイレ/喫煙場所

• 電子ホワイトボードのためペンは使えません

• 写真NGの方?

• 売店/自販機は隣の棟

• 困った事があればいつでも挙手を

Page 19: Coderetreat in KIT 導入資料
Page 20: Coderetreat in KIT 導入資料

設計の観点

Page 21: Coderetreat in KIT 導入資料

Primitive Obsession

• どんなクラスでセル、格子を表現しましたか?

• その表現はわかりやすいですか? • 言語提供のプリミティブ型を直接使わない

Page 22: Coderetreat in KIT 導入資料

メソッドを短く!• 5行?3行?1行?

!

• ちなみに APL だと

• life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

Page 23: Coderetreat in KIT 導入資料

McCabe CyclomaticComplexity

• 条件による経路の数を数える • 経路の数が増えると…。

• 小さくするにはIf文を減らそう

Page 24: Coderetreat in KIT 導入資料

Try

• Ping-Pong

• テスト書く人と実装する人 • 配列いります? • TDDやってみません?

Page 25: Coderetreat in KIT 導入資料

Closing Circle

• 今日学んだことは (もしあれば) なんですか?

• 今日驚いたことは(もしあれば)なんですか?

• これからやってみたい事はなんですか?

Page 26: Coderetreat in KIT 導入資料

ぜひ参加レポートを 書いてください!