Coderetreat in KIT 導入資料

1,509 views

Published on

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

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,509
On SlideShare
0
From Embeds
0
Number of Embeds
827
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Coderetreat in KIT 導入資料

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

×