Presentation is loading. Please wait.

Presentation is loading. Please wait.

Coding Dojo Sofware People 2012 Johannes Brodwall, Principal Architect Steria

Similar presentations


Presentation on theme: "Coding Dojo Sofware People 2012 Johannes Brodwall, Principal Architect Steria"— Presentation transcript:

1 Coding Dojo Sofware People 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes

2 Guest starring Dmytro Mindra

3

4

5

6

7 Moscow Coding Dojo? http://johannesbrodwall.com/2011/12/18/ how-to-start-a-coding-dojo/

8 Motivation

9 Master programming

10 through practice

11 What does good programming mean for you? How do you want to apply this on Monday? What do you want to get out of the day?

12 Agenda

13 10:10: Demo of TDD and pair programming 10:20: Randori style Leap Years kata with everyone 10:40: Two groups, randori style Prime Factors 11:10: Retrospective 11:30: Two groups, randori style Prime Factors, take 2 12:00: Coding dojo 2: Romans if you’re slow, Yahtzee if you’re quick, minesweeper if you’re smart 13:00 – break in the middle 13:45: Retrospective 14:00: Lunch 15:00: Extreme startup 16:30: Break 17:15: Wrap-up

14 TDD

15 No code without test Just enough test to red Just enough code to green (+ refactor!)

16 Pair programming

17 Ping/pong Driver/Navigator

18 Failing test Write code Failing test Write code Failing test

19 Write code Failing test Write code Failing test Refactor code and tests

20 What benefits can you get from pair programming?

21 Kata 0: Leap Year

22 Kata 1: Prime factors

23 Kata: Prime factors 1 => [] 2 => [2] 3 => [3] 4 => [2,2] … 2*2*13*17*23*23 => [2,2,13,17,23,23]

24 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?

25 What surprised you? What do you want to achieve next round? What did you learn?

26 Kata 2a: Minesweeper

27 Given: var minefield = new Minefield([ "....", ".*..", ".*.*", "...*“ ])

28

29 What surprised you? What do you want to achieve next round? What did you learn?

30 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?

31 Kata 2b: Yahtzee

32 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

33 What surprised you? What do you want to achieve next round? What did you learn?

34 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?

35 Kata 2c: Romans

36 Kata: Romans 1 => I 5 => V 1999 => MCMXCIX

37 What surprised you? What do you want to achieve next round? What did you learn?

38 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?

39 Extreme startup

40 The Extreme startup code competition By Matt Wynne and Robert Chatly

41 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

42 Rules Cheat like mad! Only results matter No destruction of property Obey local laws Don’t f$%! with workshop computer

43 Guidelines Work as you like (Tip: Use a language you know) Help those behind Upload your code (if possible)

44 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

45 Form teams!

46 Round 1

47 (fight!)

48 Round 1: Retrospective

49 What surprised you? What do you want to achieve next round? What did you learn?

50 Round 2

51 (fight!)

52 Round 2: Retrospective

53 Retrospective

54 What surprised you? How will you change how you work? What did you learn?

55 Testing? Teamwork? Which questions did you solve? Annoying questions? How did you mess up? How did you cheat?

56 Thank you johannes.brodwall@steria.no http://johannesbrodwall.com http://twitter.com/jhannes


Download ppt "Coding Dojo Sofware People 2012 Johannes Brodwall, Principal Architect Steria"

Similar presentations


Ads by Google