Coding dojo
Download
1 / 55

Coding Dojo - PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on

Coding Dojo. AgilePrague 2012 Johannes Brodwall , Principal Architect Steria Norway @ jhannes. Prague Coding Dojo ? http://johannesbrodwall.com/2011/12/18/how-to-start-a-coding-dojo/. Motivation. Master programming. through practice. What does good programming mean for you ?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Coding Dojo' - hue


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Coding dojo

CodingDojo

AgilePrague 2012

Johannes Brodwall, Principal Architect

Steria Norway

@jhannes


PragueCodingDojo?

http://johannesbrodwall.com/2011/12/18/how-to-start-a-coding-dojo/



Master programming


throughpractice


Whatdoesgoodprogrammingmean for you?

What do youwant to getoutoftheday?

How do youwant to applythistomorrow?



9:10: Demo of TDD and pair programming

9:20: Randori style LeapYearskatawitheveryone

9:40: Paired style Prime Factors

10:10: Retrospective

10:30: Paired style Prime Factors, take 2

11:00: Codingdojo 2:

Romans ifyou’reslow,

Yahtzee ifyou’requick,

minesweeper ifyou’resmart

12:00: Retrospective

12:15: Lunch (?)

13:00: Extreme startup – first round

13:30: Break

13:45: Extreme startup – secondround

15:45: Wrap-up



TDD

No codewithout test

Just enough test to red

Just enoughcode to green

(+ refactor!)


Pair programming


Ping/pong

Driver/Navigator


Failing test

Write code

Failing test

Write code

Failing test


Failing test

Write code

Refactorcode and tests

Failing test

Write code

Refactorcode and tests

Failing test


Whatbenefitscanyouget from pair programming?


Kata 0: LeapYear


Kata 1: Prime factors


Kata: Prime factors

1 => []

2 => [2]

3 => [3]

4 => [2,2]

2*2*13*17*23*23 => [2,2,13,17,23,23]


How didyourchoiceoflanguagehelp/hurt?

Didyouchange drivers at goodfrequency?

What tests didyou start with?

Which tests didn’thelpyou?

How didyoudeterminenext test?

How didthesolution end up looking?


Whatsurprisedyou?

Whatdidyoulearn?

What do you want to achieve next round?


Kata 2a: Minesweeper


Given:

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


Whatsurprisedyou?

Whatdidyoulearn?

What do youwant to achievenextround?


How didyourchoiceoflanguagehelp/hurt?

Didyouchange drivers at goodfrequency?

What tests didyou start with?

Which tests didn’thelpyou?

How didyoudeterminenext test?

How didtheboundaryconditionsaffectyour test and code?


Kata 2b: Yahtzee


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, threeof a kind, fourof a kind, full house

Yahtzee

Little straight, big straight

Chance


Whatsurprisedyou?

Whatdidyoulearn?

What do youwant to achievenextround?


How didyourchoiceoflanguagehelp/hurt?

Didyouchange drivers at goodfrequency?

What tests didyou start with?

Which tests didn’thelpyou?

How didyoudeterminenext test?

What is ({2,2,3,6,6}, «pair»)?


Kata 2c: Romans


Kata: Romans

1 => I

5 => V

1999 => MCMXCIX


Whatsurprisedyou?

Whatdidyoulearn?

What do youwant to achievenextround?


How didyourchoiceoflanguagehelp/hurt?

Didyouchange drivers at goodfrequency?

What tests didyou start with?

Which tests didn’thelpyou?

How didyoudeterminenext test?

How didyouimplementrules for «IV» etc?


Extreme startup


The Extremestartupcodecompetition

By Matt Wynne and Robert Chatly


Orientation

Download starting point

(http://github.com/steria/extreme_startup_servers)

Start server

Register

(http://192.168.155.249:3000/)

Solvequestions


Rules

Cheat like mad!

Onlyresults matter

No destructionofproperty

Obeylocallaws

Don’t f$%! withworkshop computer


Guidelines

Work as you like

(Tip: Use a languageyou know)

Helpthosebehind

Uploadyourcode (ifpossible)


Orientation

Download starting point

(http://github.com/steria/extreme_startup_servers)

Start server

Register

(http://192.168.155.249:3000/)

Solvequestions




Round 1

(fight!)


Round 1: Retrospective


Whatsurprisedyou?

Whatdidyoulearn?

What do youwant to achievenextround?



Round 2

(fight!)


Round 2: Retrospective


Course

Retrospective


Whatsurprisedyou?

Whatdidyoulearn?

How willyouchangehowyouwork?


Testing?

Howdidyou mess up?

Howdidyoucheat?

Whichquestionsdidyousolve?

Annoyingquestions?

Teamwork?


Thank you
Thankyou

[email protected]

http://johannesbrodwall.com

http://twitter.com/jhannes


ad