Download presentation
Presentation is loading. Please wait.
Published byHilary Hudson Modified over 9 years ago
1
Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
2
Motivation
3
Master programming
4
through practice
5
What is TDD for you? How do you want to apply this on Monday? What do you want to get out of the day?
6
Agenda
7
10:05: Demo of TDD and pair programming 10:20: Coding dojo 1: Prime numbers 11:20: Retrospective 11:30: Coding dojo 2: (Romans if you’re slow, Yahtzee if you’re quick, minesweeper if you’re smart) 12:30: Lunch 13:15: Retrospective 13:45: Break (???!)! 14:00: Extreme startup 15:30: Retrospective
8
TDD
9
No code without test Just enough test to red Just enough code to green (+ refactor!)
10
Pair programming
11
Ping/pong Driver/Navigator
12
What benefits can you get from pair programming?
13
Kata 0: Leap Year
14
Kata 1: Prime factors
15
Kata: Prime factors 1 => [] 2 => [2] 3 => [3] 4 => [2,2] … 2*2*13*17*23*23 => [2,2,13,17,23,23]
16
Did you change drivers at good frequency? How did the solution end up looking? How did you determine next test? What tests did you start with? Which tests didn’t help you? How did your choice of language help/hurt?
17
What surprised you? What do you want to achieve next round? What did you learn?
18
Kata 2a: Minesweeper
19
Given: var minefield = new Minefield([ "....", ".*..", ".*.*", "...*“ ])
21
Did you change drivers at good frequency? How did the boundary conditions affect your test and code? How did you determine next test? What tests did you start with? Which tests didn’t help you? How did your choice of language help/hurt?
22
What surprised you? What do you want to achieve next round? What did you learn?
23
Kata 2b: Yahtzee
24
Kata: Yahtzee ({1,1,1,1,1}, «ones»} => 5 ({1,1,1,1,1}, «sixes»} => 0 ({1,1,1,1,1}, «yahtzee»} => 50 Ones, twos, threes, fours, fives, sixes Pair, two pairs, three of a kind, four of a kind, full house Yahtzee Little straight, big straight Chance
25
Did you change drivers at good frequency? What is ({2,2,3,6,6}, «pair»)? How did you determine next test? What tests did you start with? Which tests didn’t help you? How did your choice of language help/hurt?
26
What surprised you? What do you want to achieve next round? What did you learn?
27
Kata 2c: Romans
28
Kata: Romans 1 => I 5 => V 1999 => MCMXCIX
29
Did you change drivers at good frequency? How did you implement rules for «IV» etc? How did you determine next test? What tests did you start with? Which tests didn’t help you? How did your choice of language help/hurt?
30
What surprised you? What do you want to achieve next round? What did you learn?
31
Extreme startup
32
The Extreme startup code competition By Matt Wynne and Robert Chatly
33
Orientation Download starting point (http://github.com/steria/extreme_startup_servers)http://github.com/steria/extreme_startup_servers Start server Register ( http://192.168.11.182:3000/ ) http://192.168.11.182:3000/ Solve questions
34
Rules Cheat like mad! Only results matter No destruction of property Obey local laws Don’t f$%! with workshop computer
35
Guidelines Work as you like (Tip: Use a language you know) Help those behind Upload your code (if possible)
36
Orientation Download starting point (http://github.com/steria/extreme_startup_servers)http://github.com/steria/extreme_startup_servers Start server Register ( http://192.168.11.182:3000/ ) http://192.168.11.182:3000/ Solve questions
37
Form teams!
38
Round 1
39
(fight!)
40
Round 1: Retrospective
41
Testing? Teamwork?
42
Round 2
43
(fight!)
44
Round 2: Retrospective
45
Testing? Teamwork? Which questions did you solve? Annoying questions? How did you mess up? How did you cheat?
46
Retrospective
47
What surprised you? What will you do different in the future? What did you learn?
52
Riga Coding Dojo? http://johannesbrodwall.com/2011/12/18/ how-to-start-a-coding-dojo/
53
Thank you johannes.brodwall@steria.no http://johannesbrodwall.com http://twitter.com/jhannes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.