coderetreat in kit 導入資料
DESCRIPTION
Coderetreat in KITでの導入資料です。TRANSCRIPT
![Page 1: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/1.jpg)
CODERETREATIN KIT
2014.05.31 08:30-17:00 金沢工業大学 扇が丘キャンパス
![Page 2: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/2.jpg)
Coderetreatとは?
• プログラミングを学ぶ練習の場です。 • ペアプロで課題に挑戦します。 • ワイワイ相談しながら楽しく良いコードを書いていきましょう。
![Page 4: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/4.jpg)
ペアプロとは?• ペアプログラミングの略 • 二人で一台のマシンを使ってプログラミングする
• ドライバーがキー入力を行う • ナビゲータが設計/問題がないか観察
![Page 5: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/5.jpg)
ペアプロのやり方• 最初の目標を決める • パートナーを頼りにし、支える • 何をしようとしてるか極力しゃべる • お互い何をしているか把握する • できたら喜ぶ • 5分程度で交代する
引用元: http://t.co/rRKYdZqvZq (著:結城浩)
![Page 6: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/6.jpg)
ペアプロを楽しくするコツ
• 経験の少ない人はドライバーを率先 • 誤りを見かけたら丁寧に指摘する • パートナーに敬意を
• ナビゲーターは口を出すだけでなく、時々手も出してドライバーになる
![Page 7: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/7.jpg)
スケジュール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 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/8.jpg)
大事なこと !
![Page 9: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/9.jpg)
大事なこと セッション毎に コードを消す
![Page 10: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/10.jpg)
セッション中の注意
• プログラミング言語はなんでもOK
• 未経験言語はパートナーから教わろう • ただし、開発環境は皆さんが用意されたもので。(セッション中で準備は☓)
![Page 11: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/11.jpg)
より良いコードを 実装しましょう。
![Page 12: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/12.jpg)
課題
• 入門:うるう年の計算
• ふつう:コンウェイのライフゲーム
• チャレンジ:ボーリングスコア計算
![Page 13: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/13.jpg)
入門:うるう年の計算• 指定した年がうるう年かどうか判定してください。
• 4で割り切れる年はうるう年
• でも100で割り切れる年はうるう年ではありません。
• でもでも400で割り切れる年はうるう年
![Page 15: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/15.jpg)
チャレンジ:
ボーリングスコア計算 http://bit.ly/1k1rYGr http://bit.ly/1hxqOye
![Page 16: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/16.jpg)
チャレンジ課題• トライするかは自由 • If文禁止 • ループ禁止 • メソッド禁止 • 配列禁止 • ペア入れ替え等々
![Page 17: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/17.jpg)
ふりかえり• ホワイトボードに書こう • 気づいたこと • うまくいったこと • うまくいかなかったこと
• ハッシュタグ #coderetreat_kit
![Page 18: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/18.jpg)
諸注意• ゴミはゴミ袋に
• 午後の入退館について
• 飲み物はご自由に
• 食べ物はロビーで
• トイレ/喫煙場所
• 電子ホワイトボードのためペンは使えません
• 写真NGの方?
• 売店/自販機は隣の棟
• 困った事があればいつでも挙手を
![Page 19: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/19.jpg)
![Page 20: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/20.jpg)
設計の観点
![Page 21: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/21.jpg)
Primitive Obsession
• どんなクラスでセル、格子を表現しましたか?
• その表現はわかりやすいですか? • 言語提供のプリミティブ型を直接使わない
![Page 22: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/22.jpg)
メソッドを短く!• 5行?3行?1行?
!
• ちなみに APL だと
• life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
![Page 23: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/23.jpg)
McCabe CyclomaticComplexity
• 条件による経路の数を数える • 経路の数が増えると…。
• 小さくするにはIf文を減らそう
![Page 24: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/24.jpg)
Try
• Ping-Pong
• テスト書く人と実装する人 • 配列いります? • TDDやってみません?
![Page 25: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/25.jpg)
Closing Circle
• 今日学んだことは (もしあれば) なんですか?
• 今日驚いたことは(もしあれば)なんですか?
• これからやってみたい事はなんですか?
![Page 26: Coderetreat in KIT 導入資料](https://reader034.vdocuments.site/reader034/viewer/2022052321/556607fad8b42a06318b45ef/html5/thumbnails/26.jpg)
ぜひ参加レポートを 書いてください!