====== [hemmerling] Coding Dojo / Coding Kata / Randori / Code Retreat / Object Calisthenics / Elephant Carpaccio Exercise - Group-Awareness, Self-Awareness, Self-Training in Software Development ====== Related pages: *[[competitions.html|Competitions]]. *[[hackathon.html|Hackathons / Hackfests / Codefests / Programming Marathons - Developer Contests & Developer Challenges]]. *[[specbyex.html|Specification by Example]]. *[[testing.html|Testing]]. *[[unittest.html|Unit Test / Module Test]]. *[[wscripting03.html|Scripting Programming Languages for Windows 3/3 - Testing with Windows PowerShell]]. ===== Definitions ===== *Coding Dojo = Teamwork / competiton / contest at a community event. *Coding Kata = Self-Training in coding, single work, alone. *Code Retreat = A day-long, intensive practice event, focusing on the fundamentals of software development and design. *Git Kata = Training of the code versioning skills. *Codefests, Hackathons, Hackfests = The project may last 6, 12, 24, 48 hours. *[[competitions.html|Competitions]] = The projects may last up to several 100s of hours. ===== Literature ===== *Book [[http://www.amazon.de/exec/obidos/ASIN//919811803X/hemmerling-21|Emily Bache: "The Coding Dojo Handbook"]]. *[[http://coding-is-like-cooking.info/|Emily Bache "Coding Is Like Cooking"]]. ===== Events ===== ==== My Coding Dojo / Code Retreat Events and similar Events ==== *[[http://www.dotnet-braunschweig.de/|.NET Developer Group Braunschweig]]. *[[http://www.dotnet-braunschweig.de/termindetails.aspx?id=15|.NET Developer Group Braunschweig "Wir feiern Geburtstag!"]], with AntMe! contest, 2007-10-15. *[[http://www.dotnet-braunschweig.de/termindetails.aspx?id=66|.NET Developer Group Braunschweig "Coding-Dojo"]], 2011-05-10. *[[http://www.dotnet-braunschweig.de/termindetails.aspx?id=99|.NET Developer Group Braunschweig "AntMe! Contest "]], 2013-12-16. *[[http://www.xing.com/net/jughannover|Java User Group Hannover]]. *[[http://www.xing.com/events/open-space-java-besseres-1206288|Java User Group Hannover "Open Space - Das Gute an Java und Besseres"]], 2013-04-03. *[[http://www.xing.com/net/pri743e09x/jughannover/veranstaltungen-jug-hannover-739927/bericht-open-space-das-gute-an-java-und-besseres-43851415/|Java User Group Hannover "Bericht: Open Space - Das Gute an Java und Besseres"]] - "Object Calisthenics - Zusammenfassung". *[[http://www.jug-ostfalen.de/|JUG-Ostfalen]]. *[[http://codingdojobraunschweig.eventbrite.com/|JUG-Ostfalen "Coding Dojo"]], 2011-06-30. *[[http://codingdojo2.eventbrite.com/|JUG-Ostfalen "Coding Dojo2"]], 2011-10-13. *[[http://coderetreatwob.eventbrite.de|JUG-Ostfalen "Code Retreat"]], 2012-09-22. *[[http://www.softwerkskammer.org/groups/socramob|Softwarekammer MOB - Software Craftmanship Communities in Münster, Osnabrück & Bielefeld]], [[http://www.groupspaces.com/softwerkskammer/wiki/SoCraMOB|Softwarekammer MOB - Software Craftmanship Communities in Münster, Osnabrück & Bielefeld]]. *[[http://gdcr12-bielefeld-eorg.eventbrite.com/|Eventbrite "Global Day of Coderetreat in Bielefeld"]] in Bielefeld, 2012-12-08. *[[http://coderetreat-muenster-2-eorgf.eventbrite.com/|Eventbrite "Coderetreat in Münster"]] in Münster, 2013-03-09. *[[http://coderetreat-bielefeld-7.eventbrite.de/|Eventbrite "Coderetreat in Bielefeld"]] in Bielefeld, 2013-06-29. *[[http://socramob-openspace-2013-5.eventbrite.com/|Eventbrite "SonderMOB Open Space 2013.5"]] in Rheine, 2013-11-23, with a hands-on workshop "Elephant Carpaccio Exercise". *[[http://www.softwerkskammer.org/activities/bi-gdcr-13|SoCraMOB "Global Day of Coderetreat in Bielefeld"]], [[http://www.eventbrite.de/e/global-day-of-coderetreat-in-bielefeld-tickets-8701710049|Eventbrite "Global Day of Coderetreat in Bielefeld"]] in Bielefeld, 2013-12-14. *[[http://www.softwerkskammer.org/activities/socramob-hackergarten-1|SoCraMOB "Hackergarten #1"]], 2014-05-31. *[[http://www.softwerkskammer.org/activities/socramob-2015-3|SoftwerksKammer "SoCraMOB Open Space 2015.3"]] in Gütersloh, 2015-09-12, with a "Randori" session with the topic "Time & date format in social networks". *[[http://www.softwerkskammer.org/activities/gdcr-15-osnabrueck|SoftwerksKammer "GDCR in Osnabrück"]], [[http://www.eventbrite.de/e/global-day-of-coderetreat-2015-in-osnabruck-tickets-18430103937|Eventbrite "Global Day of Coderetreat« 2015 in Osnabrück"]] in Osnabrück, 2015-11-14. *[[http://www.softwerkskammer.org/activities/socramob-2016-1|SoftwerksKammer "SoCraMOB Open Space 2016.1"]] with Kata "Mars Rover" in Osnabrück, 2016-03-12. *Martin Klose ( [[http://www.xing.com/profiles/Martin_Klose5/|XING "Martin Klose"]], [[http://www.eventbrite.com/o/martin-klose-2840539558|EventBrite "Martin Klose"]] ). *[[http://www.eventbrite.com/e/testautomation-coderetreat-bei-bmw-registrierung-9438622173|Eventbrite "Testautomation Coderetreat bei BMW"]] in München, 2014-01-17. *[[http://www.gotocon.com/berlin-2014/|GOTO Berlin 2014 - "goto; conference" - International Software Development Conference 2014]]. *[[http://secure.trifork.com/berlin-2014/freeevent/index.jsp?eventOID=6479|GOTO Berlin 2014 "Workshop: Green Field & Legacy Code Retreat"]] in Berlin, 2014-09-27. *[[http://secure.trifork.com/dl/goto-berlin-2014/GOTO_Night/Coderetreat14_Flipcharts.pdf|GOTO Berlin 2014 "Workshop: Green Field & Legacy Code Retreat" - "Flipcharts"]] ( PDF ). *[[http://www.softwerkskammer.org/groups/dortmund|Softwarekammer - Software Craftmanship Communities in Deutschland, Regionalgruppe "Dortmund"]]. *[[http://www.softwerkskammer.org/activities/coderetreat_kvwl|Softwarekammer "Code Retreat Dortmund"]] in Dortmund, 2014-05-17. *[[http://www.softwerkskammer.org/activities/do-feb-coderetreat-2016|Softwarekammer "Code Retreat Dortmund"]] in Dortmund, 2016-02-13. *Activities of [[http://www.softwerkskammer.org/|Softwerkskammer]] in "Hessen". *"Kassel". *Organizer [[http://www.xing.com/profile/Claudius_Link|XING "Claudius Link"]], [[http://de.linkedin.com/pub/claudius-link/1a/710/757|LinkedIn "Claudius Link"]], [[http://plus.google.com/107944088502219393210/about|Google+ "Claudius Link"]], [[http://www.twitter.com/realn2s|Twitter "Claudius Link, @realn2s"]]. *[[http://www.softwerkskammer.org/activities/Kassler_Coderetreat|Softwarekammer "Kassler Coderetreat"]], [[http://www.eventbrite.de/e/kassler-coderetreat-tickets-11562155719|Eventbrite "Kassler Coderetreat"]] in Kassel, 2014-05-24. *"Frankfurt". *Softwerkskammer "Workshop: Javascript-Frameworks für Testautomatisierung" in Frankfurt, 2014-08-21 -> see [[testing.html|Testing]]. *[[http://www.softwerkskammer.org/groups/hamburg|Software Craftmanship Communities in Deutschland, Regionalgruppe "Hamburg"]]. *[[http://www.softwerkskammer.org/activities/cdoc16hh|Global Day of Coderetreat Hamburg]], [[http://www.meetup.com/sokahh/events/233037628/?eventId=233037628|Meetup.com "Global Day of Coderetreat 2016 - Hamburg"]], 2016-10-22. *[[http://www.meetup.com/sokahh/events/237808350/?eventId=237808350|Meetup "Softwerkskammer Hamburg" - "Open Space"]], 2017-04-08. *Conference [[http://www.froscon.de/|FroSCOn]] in St. Augustin, 2014-08-23 - 2014-08-24. *Hands-on workshop "Coding Dojo Bonn - Kata Workshop", performing the "Roman Numerials Kata". *[[http://agilekatas.co.uk/katas/romannumerals-kata.html|Agile Katas "Roman Numerals Kata"]]. *Hands-on workshop "Ruby Workshop" - Introctory hands-on workshop to teach the "Ruby" programming language ( see [[uscripting.html|Scripting Programming Languages for Unix / Linux and Windows]] ), with implementation of the "Fizzbuzz" kata, using given tests . *[[http://www.github.com/moonglum/fizzbuzz|GitHub "moonglum/fizzbuzz"]] - "Fizzbuzz Spec for our workshop". *JSCodeRetreat. *[[http://www.meetup.com/JavaScript-CodeRetreat/|Meetup "JavaScript CodeRetreat"]] in Hamburg, Berlin, München,... *Events: *[[http://www.meetup.com/JavaScript-CodeRetreat/events/188846942/|Meetup "JavaScript CodeRetreat", Event "Pre-JSConfEU JavaScript CodeRetreat"]] in Berlin, 2014-09-12. *[[http://www.meetup.com/JavaScript-CodeRetreat/events/220247039/|Meetup "JavaScript CodeRetreat", Event "pre-JS Unconf CodeRetreat"]] in Hamburg, 2015-04-24. *[[http://www.meetup.com/JavaScript-CodeRetreat/events/226560992/|Meetup "JSCodeRetreat, Hamburg"]] in Hamburg, 2015-12-12. *[[http://www.ti.to/jscoderetreat/jscoderetreat-hamburg-dec-2015|Tito "JScoderetreat - Hamburg December 2015"]] "A day @ #jscoderetreathh 10 EUR. The ticket price will be refunded. This is just to reduce the no-show rate". *[[http://www.github.com/nerdlabs|GitHub "nerdlabs"]]. *[[http://www.github.com/nerdlabs/jscoderetreat-hh|]] - The "codebase" to practice TDD with Node.js + [[http://www.github.com/sindresorhus/ava|Ava]]. *Tools and platforms I used on the events: -The online tool [[http://www.tddbin.com/|TDDbin]] - Online Javascript development platform with [[http://jasmine.github.io/|Jasmine]] and [[http://visionmedia.github.io/mocha|GitHub "mocha"]]. *[[http://www.github.com/uxebu|GitHub "uxebu"]] - OSS Repository of TDDbin. -[[http://www.github.com/caolan/nodeunit|GitHub "caolan/nodeunit"]]. -[[http://jasmine.github.io/|GitHub.io "Jasmine - BDD for your JavaScript"]], [[http://github.com/pivotal/jasmine|GitHub.io "Jasmine - DOM-less simple JavaScript testing framework"]]. -[[http://visionmedia.github.io/mocha|GitHub "mocha"]], [[http://www.github.com/visionmedia/mocha|GitHub "visionmedia / mocha"]]. -[[http://www.github.com/sindresorhus/ava|GitHub "sindresorhus/ava"]]. *"Futuristic test runner". *"Even though JavaScript is single-threaded, IO in Node.js can happen in parallel due to its async nature. AVA takes advantage of this and runs your tests concurrently, which is especially beneficial for IO heavy tests. In addition, test files are run in parallel as separate processes, giving you even better performance and an isolated environment for each test file... Having tests run concurrently forces you to write atomic tests, meaning tests don't depend on global state or the state of other tests". *[[http://www.meetup.com/sinnerschrader-hamburg/|Meetup "SinnerSchrader Hamburg"]], Hamburg. *Events. *[[http://www.meetup.com/sinnerschrader-hamburg/events/254559671/|Meetup "SinnerSchrader Hamburg" - "CodeRetreat - JavaScript Edition"]], 2018-10-20. *[[http://www.meetup.com/sinnerschrader-hamburg/events/255694182/|Meetup "SinnerSchrader Hamburg" - "JSCodeRetreat - 2019 #1"]], 2019-01-19 cancled. *Tools and platforms I used on the events: * *Event "Java Challenge" by [[http://www.ottogroup.com/|Otto Group]] with [[http://robocode.sourceforge.net/|Robocode]] competition in Hamburg, 2014-11-28. *[[http://www.inwerken.de/event/sap-code-retreat/|Inwerken AG "SAP Code Retreat"]] in Hannover, 2018-04-14 - ABAP CodeRetreat, using Eclipse with "ABAP Development Tools for SAP NetWeaver". ==== Some other Coding Dojo / Code Retreat Events and similar Events ==== *[[http://www.dotnet-braunschweig.de/|.NET Developer Group Braunschweig]]. *[[http://www.dotnet-braunschweig.de/termindetails.aspx?id=35|.NET Developer Group Braunschweig "NHibernate Vortrag fällt aus - AntMe Contest findet statt"]], 2009-05-19 - "Statt dessen werden wir unseren jährlichen AntMe Contest abhalten". *[[http://www.dotnet-braunschweig.de/termindetails.aspx?id=47|.NET Developer Group Braunschweig "Antme! Challenge "]], 2009-11-17. *[[http://www.softwerkskammer.org/groups/socramob|Softwarekammer MOB - Software Craftmanship Communities in Münster, Osnabrück & Bielefeld]], [[http://www.groupspaces.com/softwerkskammer/wiki/SoCraMOB|Softwarekammer MOB - Software Craftmanship Communities in Münster, Osnabrück & Bielefeld]]. *[[http://www.softwerkskammer.org/activities/socramob-hackergarten-2|SoCraMOB "Hackergarten #2"]]. *[[http://www.softwerkskammer.org/activities/mob-gdcr-14|Softwerkskammer "GDCR in Bielefeld"]] in Bielefeld, 2014-11-15. *Martin Klose ( [[http://www.xing.com/profiles/Martin_Klose5/|XING "Martin Klose"]], [[http://www.eventbrite.com/o/martin-klose-2840539558|EventBrite "Martin Klose"]] ). *[[http://www.eventbrite.com/e/coderetreat-bei-bmw-registrierung-4648247032|EventBrite "Coderetreat bei BMW"]] in München, 2012-11-19. *[[http://www.eventbrite.com/e/coderetreat-bei-bmw-registrierung-5023507446|EventBrite "Coderetreat bei BMW"]] in München, 2013-02-12. *[[http://www.eventbrite.com/e/legacy-coderetreat-bei-bmw-registrierung-9198365559|EventBrite "Legacy Coderetreat bei BMW"]] in München, 2013-11-19. *[[http://www.softwerkskammer.org/groups/hannover|Softwarekammer Wiki - Software Craftmanship Communities in Deutschland, Group "Hannover"]]. *[[http://www.softwerkskammer.org/wiki/hannover/dojo_3_2014|Software Craftmanship Communities in Deutschland, Group Hannover: "Agile Wednesday: Coding-Dojo auf der CeBIT"]], 2014-03-12 - I did not participate. *JSCodeRetreat. *[[http://www.jscoderetreat.com/|JSCodeRetreat]]. -[[http://jscoderetreat.com/1/|JavaScript Code Retreat #1]], München. -[[http://jscoderetreat.com/2/|JavaScript Code Retreat #2]], Köln & München. -[[http://jscoderetreat.com/3/|JavaScript Code Retreat #3]], München . *[[http://www.jscoderetreat.com/|JSCodeRetreat]]. *[[http://www.twitter.com/jsCodeRetreat|Twitter "JS CodeRetreat, @jsCodeRetreat. One language, even more focused, dive deeper, learn faster"]]. *Blog [[http://www.uxebu.com/blog/|uxebu Blog]]. *[[http://www.github.com/uxebu/jsCodeRetreat/issues|GitHub "uxebu/jsCodeRetreat"]]. *[[http://www.coderdojo.com/|CoderDojo]]. *[[http://zen.coderdojo.com/dojo/820|CoderDojo Braunschweig]], 2014-10-18, 2016-02-16 - "Ein Club fuer Kinder und Jugendliche im Alter von 5 bis 17 Jahren, die programmieren lernen und Spass haben wollen". *[[http://events.codeweek.eu/view/608/massive-open-online-course-spielend-programmieren-lernen-in-german/|Europe Code Week 2014 "Coderdojo Braunschweig"]]. *[[http://www.meetup.com/Zuehlke-Hannover/events/265285351/|Meetup "Global Day of Coderetreat 2019 @ZühlkeHannover"]] in Hannover, 2019-11-16. *[[http://www.inwerken.de/event/abap-coderetreat/|Inwerken AG "ABAP CodeRetreat]] in Hannover, 2019-11-21. ===== Code Retreat & Codeing Dojo Rules ===== ==== Rules for Code Retreat in Wolfsburg, 2012-09-22 ==== -Tests must pass. -No duplication. -Reveal intention ( good names ). -Small. ==== Rules "Simple Design Applied" by Alistair McKinnell, Declan Whelan ==== === The Manifest === *[[http://submit2012.agilealliance.org/files/session_pdfs/Simple%20Design.PUBLISHED.pdf|Alistair McKinnell, Declan Whelan "Simple Design Applied. Spend more time creating valuable code"]] ( PDF ). === Design Rules === -All tests must pass. -No code is duplicated. -Code is self-explanatory. -No superfluous parts exist. === Characteristics of "Simple Design" === -Passes its tests (given TDD). -Minimizes duplication. -Maximizes clarity (fix names). -Has fewer elements. ==== Implementation ==== === 1 Three-Step Behavour-Driven Implementation of each Rule === -Given. -When ( = If ). -Then. === 2 Create your own Tests to proceed with Implementation === ===== Object Calisthenics Rules ===== ==== The Manifest with detailed Explanations ==== *[[http://www.bennadel.com/resources/uploads/2012/Jeff Bay "ObjectCalisthenics.pdf|Object Calisthenics 9 steps to better software design today"]] ( PDF ). ==== The Rules ==== -One level of indentation per method -Don’t use the ELSE keyword -Wrap all primitives and Strings -First class collections -One dot per line -Don’t abbreviate -Keep all entities small -No classes with more than two instance variables -No getters/setters/properties ===== Elephant Carpaccio Exercise Rules ===== *Create a software application with GUI interface ( console, commandline, web site, 2D desktop GUI, smart phone app, tablet app ). *The application shall be developed in slices. For each slice, there is the requirement: *May be developed completely in 2-6 minutes. *May be presented to a user ( i.e. no plain mockup, data structures, testcases ). *Always create an added value, in comparison to the previous slice ( for the user and the gain of understanding ). ===== Legacy Code Retreat ===== ==== Experts ==== *[[http://www.jbrains.ca/legacy-code-retreat|JBRAINS.CA, J. B. Rainsberger "Legacy Code Retreat"]]. *[[http://blog.thecodewhisperer.com/|The Code Whisperer, J. B. Rainsberger]]. *[[http://www.legacycoderetreat.com/|Legacy Code Retreat :: Rescuing legacy code without fear]], [[http://legacycoderetreat.typepad.com/|TypePad "Legacy Code Retreat :: Rescuing legacy code without fear"]]. ==== Sample Codebases ==== *[[http://www.github.com/caradojo/trivia|GitHub "caradojo/trivia"]]. *[[http://www.github.com/jbrains/trivia.git|GitHub "jbrains/trivia"]]. ==== Tasks ==== === 1 Golden Master === *[[http://blog.thecodewhisperer.com/2014/09/28/surviving-legacy-code-with-golden-master-and-sampling/|The Code Whisperer "Surviving Legacy Code With Golden Master and Sampling"]]. *Refactor your code but don´t break anything ( the original output, the tests,..). === 2 Pullup & Delegate === - Introduce a superclass "A extends B" ( e.g. "Game extends SpecialAspectOfGame" ). - Pulling methods & instance variables. - Replace inheritance by delegation: "class A() { B b; };" === 3 Extract Pure Functions === *[[http://blog.thecodewhisperer.com/2011/11/27/rescuing-legacy-code-by-extracting-pure-functions/|The Code Whisperer "Rescuing Legacy Code by Extracting Pure Functions"]]. *Steps: -Step #1: Find code which can be made stateless. -Step #2: Extract into new methods. *All input via parameters. *Output in return value. -Result: The method is stateless, if you can make it static. ===== Tasks ===== ==== Tasks and Task Collections ==== *"Time & date format in social networks" -> "2 minutes, 42 seconds ago". *[[http://wayback.archive.org/web/*/http://www.codingkata.org|Archive.org "Stephan Behnke, codingkata.org"]] - "Experience each kata with Clojure, Groovy, Java, Javascript, JavaFX, Jython and Scala !". *[[http://wayback.archive.org/web/*/http://codingkata.org/katas/|Archive.org "Stephan Behnke, codingkata.org - List of Code Katas"]]. *[[http://www.codekata.com/|CodeKata]], [[http://codekata.pragprog.com/|CodeKata]] - "Because experience is the only teacher". 21 Katas. *[[http://www.codingdojo.org/|Coding Dojo.org]]. *[[http://www.codingdojo.org/cgi-bin/wiki.pl?KataCatalogue|Coding Dojo.org "KataCatalogue"]] - "This page is intended as a list of Kata exercises that people have tried at their Dojo meetings, which links to more detailed descriptions of each Kata". *[[http://cyber-dojo.org/|cyber-dojo - a place to practice programming]] - interactive Coding Dojo challenge services. *[[http://codekata.pragprog.com/codekata/|Dave Thomas "CodeKata. How to Become a Better Developer"]]. *[[http://codekata.pragprog.com/2007/01/code_kata_backg.html|Dave Thomas "Code Kata"]] - List of Katas. *[[http://www.codersdojo.org/|Coders Dojo]]. *[[http://www.dojopuzzles.com/problemas/todos/|DojoPuzzles.com "Todos os problemas. 51 problemas cadastrados"]] ( in portuguese language ). *[[http://translate.google.de/translate?u=http://dojopuzzles.com/problemas/todos/|Google Translate of "DojoPuzzles.com"]]. *[[http://www.dotnetpro.de/articles/webarticle76.aspx|dotnet pro "dotnetpro.dojo: Nur wer übt gewinnt"]], 2011-06-18 - "dojo-Aufgaben". *[[http://www.es6katas.org/|ES6 Katas]] - "Learn ES6 by doing it. Fix failing tests. Keep all learnings". *[[http://scala-programming-language.1934581.n4.nabble.com/Learning-Scala-in-10-Minutes-td2065840.html|Maciek Makowski "Learning Scala in 10 Minutes"]]. *[[http://gist.github.com/379031|github:gist, Maciek Makowski "PaperScissorsStone.scala #"]]. *[[http://gist.github.com/379028|github:gist, Maciek Makowski "reaCalculator.scala #"]]. *[[http://www.jcranky.com/tag/dojo/|Paulo R. C. Siqueira, JCranky's Blog "dojo"]]. *"The Anagram Puzzle in Scala". *Coding Dojo event "Program-ME Dojo" for Program-ME, [[http://www.globalcode.com.br/|Globalcode]]’s version of [[http://www.arduino.cc/|Arduino]], 2009-12-10. *[[http://en.wikipedia.org/wiki/Simon_%28game%29|EN.Wikipedia "Simon (game)"]], [[http://de.wikipedia.org/wiki/Senso_%28Spiel%29|DE.Wikipedia "Senso (Spiel)"]]. *[[http://code.joejag.com/coding-dojo-example-katas/|Joe Wright's, JoeJag :: Tech "Coding Dojo: Example Katas"]]. *[[http://www.lagerweij.com/2011/06/|Wouter Lagerweij, Line by Line "My First Coding Dojo"]]. *Slides [[http://www.slideshare.net/wouterla/coding-dojo-in-5-minutes|Wouter Lagerweij "Coding-Dojo em 5 Minutes"]]. *Kata [[http://www.github.com/wouterla/GildedRose/tree/FirstTry|github "wouterla / GildedRose"]]. *[[http://schuchert.wikispaces.com/Katas|Brett Schuchert "Katas"]]. *[[http://schuchert.wikispaces.com/Katas.MonopolyTheGame%28r%29|Brett Schuchert "Katas.MonopolyTheGame(r)"]]. *Blog article [[http://blog.objectmentor.com/articles/2009/06/30/whats-your-favorite-kata|Object Mentor, Brett Schucher "What's your favorite Kata?"]]. *[[http://katas.softwarecraftsmanship.org/|Software Craftsmanship – Katas]]. *[[http://www.butunclebob.com/ArticleS.UncleBob|UncleBob ( Martin )]]. *[[http://butunclebob.com/ArticleS.UncleBob.TheProgrammingDojo|UncleBob "TheProgrammingDojo"]]. *Kata [[http://www.butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata|UncleBob "ThePrimeFactorsKata"]]. *Kata [[http://www.butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata|UncleBob "TheBowlingGameKata"]]. *[[http://www.objectmentor.com/resources/articles/xpepisode.htm|Robert C. Martin and Robert S. Koss "Engineer Notebook: An Extreme Programming Episode"]] - "In order to demonstrate XP (eXtreme Programming) practices, Bob Koss (RSK) and Bob Martin (RCM) will pair program a simple application while you watch like a fly on the wall". *[[http://en.wikipedia.org/wiki/Core_War|EN.Wikipedia "Core War"]], [[http://de.wikipedia.org/wiki/Core_War|DE.Wikipedia "Core War"]]. ==== AntMe! ==== === The Tool === *[[http://www.antme.net/|AntMe! - Die Ameisensimulation]]. *License terms "Die Lizenz von AntMe! erlaubt die kostenfreie Nutzung für den privaten Gebrauch. Auch für den Einsatz in Lehre und Forschung ist AntMe! kostenfrei, jedoch würden wir uns freuen, wenn wir wüssten, wo AntMe! überall eingesetzt wird". *Twitter hashtag: "#antme!". *Wiki [[http://wiki.antme.net/wiki/AntMe! Wiki]]. *[[http://web.archive.org/web/*/http://antme.net/|Archive.org "antme.net"]]. *[[http://web.archive.org/web/*/http://antme.cloudapp.net/Pages/Project|Archive.org "Antme! Online - Project"]]. *Antme! is a Direct-X application for Windows, so please install the Direct-X runtime. *[[http://www.microsoft.com/en-US/download/details.aspx?id=35|Microsoft Download Center "DirectX End-User Runtime Web Installer"]]. *[[http://www.microsoft.com/en-us/download/details.aspx?id=8109|Microsoft Download Center "DirectX End-User Runtimes (June 2010)"]]. == Antme! 1.6, 1.7, 2.0 == *[[http://service.antme.net/Download|Antme! Service - Download]]. *Antme! 1.7 requires *[[http://www.microsoft.com/en-US/download/details.aspx?id=17718|Microsoft Download Center "Microsoft .NET Framework 4 (Standalone Installer)"]] ( .NET 4.0 is no installable component for Win8. Additionally, it can't be installed manually, if .NET 4.5 is already installed! ). *[[http://www.microsoft.com/en-us/download/details.aspx?id=27598|Microsoft Download Center "Microsoft XNA Framework Redistributable 4.0 Refresh"]]. == Antme! 1.6 == *[[http://www.antme.net/de/download|AntMe! - Die Ameisensimulation "Download"]], [[http://www.antme.net/de/download/16/archiv|AntMe! - Die Ameisensimulation "Download Archiv"]] as of 2013-12: *[[http://antme.azurewebsites.net/de/download/16/vs2010/source|AntMe! 1.6 Source (VS2010)]] - "antme_source_vs2010.zip" provides the latest release "Antme! V1.6.0.21867". It does not run out of the box, as the necessary plugins are not installed. *[[http://antme.azurewebsites.net/de/download/16/vs2010/cs|AntMe! 1.6 C# (VS2010)]] - "antme_cs_vs2010.zip" is release "Antme! V1.6.0.18949". It runs out of the box. Take this, as newbie! *Download offers for VS2008 and V2012 provide the outdated, buggy "Antme! 1.6.0.0" :-(. == Antme! 2.0 Development is discontinued on this Platform == *[[http://antme.codeplex.com/|CodePlex "AntMe! v2.0"]]. === Authors and Supporters === *Dominik Bösl. *[[http://www.xing.com/profiles/Dominik_Boesl|XING "Dominik Bösl"]]. *[[http://www.facebook.com/boesl|Facebook "Dominik Bösl"]]. *[[http://www.linkedin.com/in/boesl|LinkedIn "Dominik Bösl"]]. *DVD "Spielend programmieren lernen : mit C# und AntMe!". *[[http://www.amazon.de/exec/obidos/ASIN/3836217643/hemmerling-21|Dominik Bösl "Spielend programmieren lernen : mit C# und AntMe!"]] with 60 training videos. *[[http://www.rheinwerk-verlag.de/spielend-programmieren-lernen_2867/|Rheinwerk Computing "Spielend programmieren lernen"]] with some free sample videos. *Tom Wendel. *[[http://www.xing.com/profiles/Tom_Wendel|XING "Tom Wendel"]]. *[[http://www.facebook.com/tom.wendel|Facebook "Tom Wendel (Bobstriker)"]]. *[[http://de.linkedin.com/pub/tom-wendel/12/313/504|LinkedIn "Tom Wendel"]]. *[[http://www.twitter.com/bobstriker|Twitter "Tom Wendel @Bobstriker"]]. *[[http://www.youtube.com/tomwendelger|YouTube "Tom Wendel"]]. *[[http://blogs.msdn.com/b/twendel/|04F |MSDN Blog, Mr. Tom Wendel ...von den Reisen und Abenteuern des Rastlosen...]]. *[[http://tomwendelblog.wordpress.com/|Tom Wendel - An awesome story of stuff]]. *[[http://tomwendelblog.wordpress.com/2014/03/31/howto-play-antme-2-0/|Tom Wendel - An awesome story of stuff "Howto play AntMe! 2.0"]], 2014-03.31. *[[http://tomwendelblog.wordpress.com/2015/01/06/antme-classic-refresh-antme-1-7/|Tom Wendel - An awesome story of stuff "AntMe! Classic Refresh: AntMe! 1.7"]], 2015-01-06. *Patrick ( [[http://blogs.msdn.com/b/patricb/|MSDN Blog - patrickb]] ). === Literature === *Book [[http://www.amazon.de/exec/obidos/ASIN/3866452055/hemmerling-21|Walter Saumweber, Tom Wendel, Wolfgang Gallo, Sebastian Loers "AntMe! - Programmieren und Spielen mit den Ameisen und Visual C#"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3866455232/hemmerling-21|Hans-Georg Schumann "AntMe! - Spielend programmieren lernen mit Visual Basic und den Ameisen"]]. *[[http://www.homeofgamehacking.de/showthread.php?tid=169|Home of Gamehacking "BUCH - AntMe! – Spielend programmieren lernen mit Visual Basic und den Ameisen"]], 2010 - Free download of the PDF e-book. "Microsoft verschenkt noch bis zum 26.12 das Buch 'AntMe! – Spielend programmieren lernen mit Visual Basic und den Ameisen'" ( - 2010-12-26 ). *[[http://www.ebooksdownloadfree.com/Visual-Basic/AntMe-Spielend-programmieren-lernen-mit-Visual-Basic-und-BI18748.html|Books Download Free "AntMe! - Spielend programmieren lernen mit Visual Basic und den Ameisen Book"]] - Free download of the PDF e-book. === Resources === *[[http://www.selbstausbildung.de/software/spielend-programmieren-lernen-mit-c-und-antme-c-sharp-apfel-und-ameisen/|Selbstausbildung "Spielend programmieren lernen mit C# und AntMe – C Sharp, Äpfel und Ameisen"]]. *[[http://de.wikipedia.org/wiki/AntMe!|DE.Wikipedia "AntMe!"]]. ==== API Testing Dojo ==== *[[http://www.soapui.org/Dojo/overview.html|SoapUI "API Testing Dojo"]] for the OpenSource web service testing application for service-oriented architectures (SOA) and representational state transfers (REST) [[http://www.soapui.org/|SoupUI]], [[http://soapui.sourceforge.net/|SourceForge "SoupUI"]], [[http://www.sourceforge.net/projects/soapui/|SourceForge "SoupUI"]], [[http://en.wikipedia.org/wiki/SoapUI|EN.Wikipedia "SoapUI"]], [[http://de.wikipedia.org/wiki/SoapUI|DE.Wikipedia "SoapUI"]]. ==== Elephant Carpaccio Exercise Tasks ==== === Sales Calculator === *Develop a price calculator with 3 inputs -Number of articles. -Price per article. -EU country code. *Apply a volume discount. ^ ^ ^ ^ ^ # ^ Total order sum in EUR ^ Volume discount in % ^ ^ 1 | 1000 | 3 | ^ 2 | 5000 | 5 | ^ 3 | 7000 | 7 | ^ 4 | 10000 | 10 | ^ 5 | 50000 | 15 | ^ | | |* *Apply the country-specific VAT. ^ ^ ^ ^ ^ # ^ Country ^ VAT in % ^ ^ 1 | DE | 19 | ^ 2 | IT | 22 | ^ 3 | SE | 25 | ^ 4 | LU | 15 | ^ 5 | MT | 18 | ^ | | |* ==== Fizz Buzz ==== === Resources === *[[http://www.codingdojo.org/cgi-bin/wiki.pl?KataFizzBuzz|Coding Dojo Wiki "KataFizzBuzz"]]. *Experts told me, that "Fizz Buzz" might be used to explore object-oriented patterns, e.g. the Factory / Builder pattern. *[[http://en.wikipedia.org/wiki/Builder_pattern|EN.Wikipedia "Builder pattern"]], [[http://de.wikipedia.org/wiki/Erbauer_%28Entwurfsmuster%29|DE.Wikipedia "Erbauer (Entwurfsmuster)"]]. *[[http://en.wikipedia.org/wiki/Factory_method_pattern|EN.Wikipedia "Factory method pattern"]], [[http://de.wikipedia.org/wiki/Fabrikmethode|DE.Wikipedia "Fabrikmethode"]]. *[[http://www.stackoverflow.com/questions/757743/what-is-the-difference-between-builder-design-pattern-and-factory-design-pattern|StackOverflow "What is the difference between Builder Design pattern and Factory Design pattern?"]] - "The Builder is only needed when an object cannot be produced in one step. One great an example of this would be in the de-serialization process for a complex object. Often times the parameters for the complex object must be retrieved one by one". === Solutions === *[[fizzbuzz01.html|Coding Dojo / Coding Cutter: How to play Kata FizzBuzz with JUnit]]. ==== Game of Life ( without GUI ) ==== === Resources === *[[http://www.alexbolboaca.ro/wordpress/articles/how-to-organize-a-code-retreat|Alex Bolboaca "How to Organize A Code Retreat"]] - "Developers don’t use abstractions – the usual one is that they use arrays to represent the board in Conway’s Game of Life (hint: if you changed the board to be in 3D, or hexagons, or pentagons, what would happen to the code?)". *[[http://www.codingdojo.org/cgi-bin/wiki.pl?KataGameOfLife|Coding Dojo Wiki "KataGameOfLife"]]. *[[http://www.math.com/students/wonders/life/life.html|Math.com, Paul Callahan "What is the Game of Life?"]] #. *[[http://www.holub.com/software/life/|Allen I. Holub & Associates "The Game of Life"]]. *[[http://sc2010subs.wordpress.com/|Software Craftsmanship - Software Craftsmanship 2010 Session Submissions "Michael Hunger: Using The Game Of Life"]]. *Video [[http://www.screencast.com/t/MjJiYWM1M|jexp's library "But how to compare languages?"]], 2010-09-06 - "I was reminded of the impressive Game Of Life". *[[http://jexp.de/blog/2010/03/game-of-life-javas-heirs-keynote/|Better Software Development - Michael Hunger "Keynote at 4developers: The Game Of Life – Java‘s Siblings and Heirs are populating the Ecosystem"]], 2010-03-29. *[[http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|EN.Wikipedia "Conway's Game of Life"]], [[http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens|DE.Wikipedia "Conways Spiel des Lebens"]]. *[[http://www.conwaysgameoflife.net/|ConwaysGameofLife.net]]. === Solutions === == C == *[[http://www.daniweb.com/software-development/c/threads/254050|smbee @ DaniWeb "Source Code of Game of Life"]]. == C/C++ == *[[http://www.gitorious.org/c-coding-dojo-game-of-life|Gitorious "C++ Coding Dojo - Game of Life"]]. == C# == *[[http://www.codeproject.com/KB/WPF/Life_WPF.aspx|The Code Project, Ron de Jong "WPF Game of Life"]] in C# ( no Kata ). == Excel == *[[http://spreadsheet-day.com/blog/2010/08/02/spreadsheet-games-the-game-of-life/|Spreadsheet Day - Celebrating spreadsheets every day "Spreadsheet Games: The Game of Life"]]. == Java == *[[http://www.bitstorm.org/gameoflife/|bitstorm.org "John Conway's Game of Life"]] in Java. *[[http://docs.codehaus.org/display/DROOLS/Conway%27s+Game+Of+Life+Example|Codehaus, Jeff Brown "Conway's Game Of Life Example"]] in Java ( no Kata ). *[[http://www.wakaleo.com/blog/268-real-developers-dont-need-unit-tests|John Ferguson, Wakaleo Consulting "Real Developers Don't Need Unit Tests"]] - "TDD in Action - the Game Of Life" ( Slides 62 - 109 ) -> Game of Life in Java #. *[[http://blog.jhoover.com/2010/03/my-venture-into-jbehave-via-conways.html|Treetown Agile Adventure. My adventures in Agile Software Development from Ann Arbor, MI. "My Venture into JBehave via Conway's Game of Life"]] with [[http://jbehave.org/|JBehave]]. *[[http://www.easy-coding.de/spiel-des-lebens-game-of-life-t495.html|easy-coding.de, Coder Forum / Coding / Java "Spiel des Lebens (Game of Life)"]], 2006-01-08. *[[http://www.easy-coding.de/game-of-life-im-browser-t4981.html|easy-coding.de, Coder Forum / Coding / Java "Game Of Life im Browser"]], 2008-02-13. == Javascript == *[[http://www.github.com/nomatteus/conway-game-of-life-js|GitHub "nomatteus/conway-game-of-life-js"]]. *[[http://www.github.com/eonarheim/GameOfLife|GitHub "eonarheim/GameOfLife"]]. *[[http://erikonarheim.com/blog/conways-game-of-life-in-javascript/|Erik Onarheim - Developer » Conway’s Game of Life in JavaScript]]. *[[http://projects.abelson.info/life/|Carl Fredrik Abelson "Game of Life"]]. *[[http://www.quesucede.com/public/gameoflife/|QueSucede.com "HTML5, JavaScript, and Canvas - Conway's Game of Life"]]. *[[http://www.pmav.eu/stuff/javascript-game-of-life-v3.1.1/|pmav.eu "Conway's Game of Life - Javascript/Canvas Implementation"]]. *[[http://www.github.com/mrtom/dojo-game-of-life-demo|github "dojo-game-of-life-demo"]], making use of the Javascript framework [[http://www.dojotoolkit.org/|dojo toolkit]]. *[[http://technicalchats.blogspot.com/2010/02/coding-dojo-kata-game-of-life.html|TechChats "Coding Dojo: Kata Game of Life"]], using the testing framework [[http://docs.jquery.com/Qunit|QUnit]] of [[http://jquery.com/|JQuery]]. *[[http://ajaxian.com/archives/life-the-game-in-canvas|Ajaxian -Dion and Ben’s Ajax Platform "Life: The game in Canvas"]] in Javascript. == Python == *[[http://www.youtube.com/watch?v=o9pEzgHorH0&feature=plcp|YouTube "PyCon 2012 - "Jack Diederich: Stop Writing Classes"]] - "Game of life" in Python, 17:20-20:00. *[[http://gist.github.com/janernsting/913b40698f0e21a808a0|Github "janernsting / game_of_life_test.py"]] according to the "Tell, don´t ask" principle #. *[[http://www.martinfowler.com/bliki/TellDontAsk.html|Martin Fowler "TellDontAsk"]], 2013-09-15. *[[http://www.pragprog.com/articles/tell-dont-ask|The Pragmatic Bookshelf "Tell, Don't Ask"]]. == Scala == *[[http://www.github.com/dcsobral/ConwayLife|github "dcsobral / ConwayLife"]] in Scala. == VB.NET == *[[http://ptgmedia.pearsoncmg.com/images/0672320665/downloads/The%20Game%20of%20Life.html|Duncan Mackenzie "Writing the Game of Life in VB.NET. Bonus Project 1 – Teach Yourself VB .NET in 21 Days"]]. ==== Mars Rover ==== *[[http://github.com/georgberky/marsrover_mobenspace_2016-03-12|GitHub "georgberky/marsrover_mobenspace_2016-03-12"]]. *[[http://www.jspcore.com/mars-rover-kata/|Javier Salinas, JSPCORE "Mars Rover Kata"]]. *Viktor Farcic. *[[http://technologyconversations.com/|Viktor Farcic, Technology Conversations]]. *[[http://technologyconversations.com/2014/10/16/java-tutorial-through-katas/|Viktor Farcic, Technology Conversations "Java Tutorial Through Katas]]. *[[http://www.technologyconversations.com/2014/10/17/java-tutorial-through-katas-mars-rover/|Viktor Farcic, Technology Conversations "Java Tutorial Through Katas: Mars Rover"]]. *[[http://technologyconversations.com/2014/10/07/javascript-tutorial-through-katas-mars-rover/|Viktor Farcic, Technology Conversations "JavaScript Tutorial Through Katas: Mars Rover"]]. *[[http://github.com/vfarcic/mars-rover-kata-java|GitHub "vfarcic/mars-rover-kata-java"]]. *[[http://www.javacodegeeks.com/2014/10/java-tutorial-through-katas-mars-rover.html|Java Code Geeks, Viktor Farcic "Java Tutorial Through Katas: Mars Rover"]]. ==== Meiern, Mäxchen ==== *[[http://www.improuv.com/blog/sebastian-heglmeier/m%C3%A4xle-coding-dojo|improuv GmbH "Mäxle Coding Dojo"]], 2013-01-25. *[[http://www.github.com/conradmueller/maexchen|GitHub "conradmueller / maexchen"]]. *[[http://www.trinkspiele.net/wuerfelspiele/maexchen-meiern-luegenmueller.html|Trinkspiele.net "Mäxchen, Meiern, Lügenmüller"]]. *[[http://en.wikipedia.org/wiki/Mia_%28game%29|EN.Wikipedia "Mia (game)"]], [[http://de.wikipedia.org/wiki/Meiern|DE.Wikipedia "Meiern"]]. ==== Robocode ==== === The Tool === *[[http://robocode.sourceforge.net/|SourceForge "Robocode"]], [[http://www.sourceforge.net/projects/robocode|SourceForge "Robocode"]]. *[[http://robocode.sourceforge.net/docs/robocode/|SourceForge "Robocode" - JavaDocs of API]]. *[[http://robocode.sourceforge.net/docs/robocode/robocode/Robot.html|SourceForge "Robocode" - JavaDocs of "robocode" API]]. *Wiki [[http://robowiki.net/|RoboWiki]]. === Resources === *[[http://www.gamedesignclub.org/robocode/|Code Phreaks "Robocode CHICAGO 2014"]] - "Other Robocode Clubs and Competitions". *[[http://www.robocode.de/|Robocode.de]] - "Anlaufstelle für die deutschen Robocode Interessierten". *[[http://code.wikia.com/wiki/Robocode|Wikia, Programmer's Wiki "Robocode"]]. *[[http://en.wikipedia.org/wiki/Robocode|EN.Wikipedia "Robocode"]], [[http://de.wikipedia.org/wiki/Robocode|DE.Wikipedia "Robocode"]]. *[[http://www.youtube.com/user/schoolbots|YouTube "schoolbots"]]. ==== Roguelike Development ==== *[[http://www.roguelikedevelopment.org/|Dungeondweller]] - "For roguelike development and .. roguelike hobby projects". *Wiki [[http://roguebasin.roguelikedevelopment.org/|RogueBasin]] - "The Roguelike information resource that you can edit". *[[http://roguebasin.roguelikedevelopment.org/index.php/Roguelike_Dev_FAQ|Roguelike Dev FAQ]]. ==== Rock-paper-scissors ==== *[[http://en.wikipedia.org/wiki/Rock-paper-scissors|EN.Wikipedia "Rock-paper-scissors"]], [[http://de.wikipedia.org/wiki/Schere,_Stein,_Papier|DE.Wikipedia "Schere, Stein, Papier"]]. ==== Tick-Tack-Toe ==== *[[http://www.gojko.net/2009/02/27/thought-provoking-tdd-exercise-at-the-software-craftsmanship-conference/|Gojko Adzic - Building software that matters "Thought-provoking TDD exercise at the Software Craftsmanship conference"]], 2009-02-27. *[[http://www.gojko.net/2009/08/02/tdd-as-if-you-meant-it-revisited/|Gojko Adzic - Building software that matters "TDD as if you meant it – revisited"]], 2009-08-02. *[[http://en.wikipedia.org/wiki/Tic-tac-toe|EN.Wikipedia "Tic-tac-toe"]], [[http://de.wikipedia.org/wiki/Tic_Tac_Toe|DE.Wikipedia "Tic Tac Toe"]]. ===== Software Tools ===== *The OpenSource [[http://content.codersdojo.org/documentation/|Coders Dojo "CodersDojo WebClient"]] in Ruby. It can be used for test run logging and visualisation. ===== Resources ===== ==== Resources - Code Retreat ==== *[[http://www.coderetreat.org/|Coderetreat Community Network]]. *[[http://coderetreat.org/facilitating/activity-catalog|Coderetreat Community Network "Facilitating / Activity Catalog"]]. *[[http://coderetreat.org/facilitating/activities/ping-pong|Coderetreat Community Network "Facilitating / Activity Catalog / Ping-Pong"]] - "Learn and practice the basics of Test-Driven-Development". *[[http://www.coreyhaines.com/|Corey Haines - The Software Journeyman]]. *[[http://twitter.com/coreyhaines|Twitter "Corey Haines"]]. *[[https://www.vimeo.com/18955165|Vimeo "'Cleveland Code Retreat Introduction' by Corey Haines"]]. *[[http://globalday.coderetreat.org/|Global Day of Code Retreat]], 2016-10-16. *[[http://www.coderetreat.org/events/event/listUpcoming|Code Retreat - Upcoming Events]] also at other (Satur)days than the annual "Global Day of Code Retreat". ==== Resources - Coding Dojo ==== *[[http://wayback.archive.org/web/*/http://wiki.agilefinland.com/?CodingDojo|Archive.org "Agile Finland Wiki - CodingDojo"]] ( - 2010-07-06 ). *[[http://www.altnetberlin.de/Termine/coding-dojo|ALT.NET- Berlin "Coding Dojo"]], 2010-03-31,... *[[http://www.codinghorror.com/blog/2008/06/the-ultimate-code-kata.html|Jeff Atwood, Coding Horror programming and human factors "The Ultimate Code Kata"]] - Suggestions how to proceed in the development as software programmer. *[[http://www.bossavit.com/dojo/|Laurent Bossavit "Dojo"]] ( - 2005 ). *[[http://www.agiledesign.co.uk/2006/dojo-kata-or-randori|David Draper - Agile Design "dojo, kata or randori?"]], 2006-04-16. *Hamburg. *[[http://dotnet-usergroup-hamburg.de/|.NET User Group Hamburg]] - "Coding Dojo" events. *Hamburg Xp Users Group. *[[http://c2.com/cgi/wiki?HamburgXpUsersGroup|Hamburg Xp Users Group]] - "Coding Dojo" events. *[[http://de.groups.yahoo.com/group/xpug-hh/|xpug-hh · Extreme Programming User's Group Hamburg]]. *Hannover. *[[http://coderdojo-hannover.de/|CoderDoJo Hannover. Programmieren und hacken für Kinder und Jugendliche]]. *Mark Levison. *[[http://www.agilepainrelief.com/notesfromatooluser/2008/10/tdd-randori-session.html|Mark Levison "TDD Randori Session"]]. *[[http://www.agilepainrelief.com/notesfromatooluser/2008/10/tdd-randori-workshop.html|Mark Levison "TDD Randori Workshop"]]. *[[http://www.agileinone.net/|Mike Li, Agile in One "First coding dojo activity in the company"]], 2010-12-02. *[[http://sites.google.com/site/sergerehem2/|Serge Rehem]]. *Slides [[http://www.slideshare.net/serge_rehem/coding-dojo-em-5-minutos|Serge Rehem "Coding Dojo em 5 Minutos"]]. *Slides [[http://www.slideshare.net/ntoll/organise-a-code-dojo|Nicholas H. Tollervey "Organize a Python Code Dojo!"]]. *[[http://blog.thoughtcorp.com/tag/tdd/|TDD - The Thoughtcorp Blog "Practice Built In"]] -> [[http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway’s Game of Life]], [[http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata|Bowling Game]], [[http://codingkata.org/katas/unit/fizz-buzz|Fizz Buzz]], [[http://codingkata.org/katas/unit/backwards-talk|Backwards Talk]] and [[http://codingdojo.org/cgi-bin/wiki.pl?KataRomanNumerals|Roman Numerals]]. *[[http://techmeetup.co.uk/blog/2009/08/coding-dojos-meets-public-service/|TechMeetup "Coding Dojos meets Public Service"]] - "Use either behaviour driven, or test driven development". *[[http://www.johannesbrodwall.com/|Johannes Brodwall, Thinking Inside a Bigger Box"]]. *[[http://www.johannesbrodwall.com/2010/01/13/getting-started-with-pair-programming/|Johannes Brodwall, Thinking Inside a Bigger Box "Getting started with pair programming"]], 2010-01-13. *[[http://johannesbrodwall.com/2011/06/18/cyber-dojo-and-extreme-startup/|Johannes Brodwall, Thinking Inside a Bigger Box "Cyber Dojo and Extreme Startup"]], 2011-06-18. *[[http://johannesbrodwall.com/2011/06/22/real-time-coding-competition-with-extreme-startup/|Johannes Brodwall, Thinking Inside a Bigger Box "Real time coding competition with Extreme Startup"]], 2011-06-22. *Wikipedia. *[[http://en.wikipedia.org/wiki/Kata_%28programming%29|EN.Wikipedia "Kata (programming)"]] -> "Code Kata". *[[http://en.wikipedia.org/wiki/Dave_Thomas_%28programmer%29|EN.Wikipedia "Dave Thomas (programmer)"]]. *[[http://en.wikipedia.org/wiki/Pair_programming|EN.Wikipedia "Pair programming"]]. *[[http://de.wikipedia.org/wiki/Testgetriebene_Entwicklung|DE.Wikipedia "Testgetriebene_Entwicklung"]]. *[[http://codedojos.wordpress.com/|Wordpress "Code Dojos - How To"]] - "Von Katas und Dojos". *YouTube. *[[http://www.youtube.com/results?search_query=coding+dojo|YouTube "coding dojo"]] -> 2 words. *[[http://www.youtube.com/results?search_query=%22coding+dojo%22&aq=f|YouTube "'coding dojo'"]] -> 1 string of 2 words. ==== Resources - "Git Kata" ==== *[[http://schauder.github.com/gitkata/|./ Git Kata. Git Kata - the place to train your Git Skills. Become a Black Belt Git ... or at least Yellow Belt]]. ==== Resources - "Given, When, Then" ==== *[[http://www.github.com/cucumber/cucumber/wiki/Gherkin|Github "cucumber / cucumber": "Gherkin"]] # *Wikipedia: *[[http://en.wikipedia.org/wiki/Behavior_Driven_Development|EN.Wikipedia "Behavior Driven Development"]] *[[http://de.wikipedia.org/wiki/Behavior_Driven_Development|DE.Wikipedia "Behavior Driven Development"]] - "Given, When, Then" #. ==== Resources - Object Calisthenics ==== *[[http://www.bennadel.com/|The Blog of Ben Nadel. On Obsessively Thorough Web Application Development]]. *[[http://www.bennadel.com/blog/2374-Object-Calisthenics-In-JavaScript-An-Introduction.htm|Ben Nadel "Object Calisthenics In JavaScript - An Introduction"]], 2012-05-04. *[[http://www.bennadel.com/resources/uploads/2012/Jeff Bay "ObjectCalisthenics.pdf|Object Calisthenics 9 steps to better software design today"]] ( PDF ). *[[http://blogs.tedneward.com/2013/04/27/On+Types.aspx|The Blog Ride - Ted Neward's Technical Blog "On Types"]]. ==== Resources - Elephant Carpaccio Exercise ==== *[[http://agilesyndicate.blogspot.de/2013/10/slicing-elephant-into-carpaccio-is-that.html|Agile Syndicate, a blog for Agile pragmatists "Slicing the elephant into Carpaccio.... is that even legal?"]], 2013-10-23. *[[http://johannesbrodwall.com/category/agile-release-patterns/|Johannes Brodwall "'Slice!' Making meaningful progress visible"]], 2010-10-18. *[[http://alistair.cockburn.us/Elephant+Carpaccio+exercise|Alistair.Cockburn "Elephant Carpaccio exercise"]], 2010-02-12 #. *[[http://www.martinfowler.com/bliki/ShuHaRi.html|Martin Fowler "ShuHaRi"]], 2006-09-30. *[[http://www.goodreads.com/author_blog_posts/4587207-elephant-carpaccio-facilitation-guide|Henrik Kniberg's Blog "Elephant Carpaccio facilitation guide"]], [[http://blog.crisp.se/2013/07/25/henrikkniberg/elephant-carpaccio-facilitation-guide|Crisp's Blog "Elephant Carpaccio facilitation guide"]], 2013-07-25. *[[http://docs.google.com/document/d/1TCuuu-8Mm14oxsOnlk8DqfZAA1cvtYu9WGv67Yj_sSk/pub|Google Docs "Henrik Kniberg & Alistair Cockburn: Elephant Carpaccio facilitation guide"]], 2013-07-11 #. *J.B. Rainsberger. *[[http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features|J.B. Rainsberger "How you’ll probably learn to split features"]], 2006. *[[http://www.jbrains.ca/permalink/three-steps-to-a-useful-minimal-feature|J.B. Rainsberger "Three Steps to a Useful Minimal Feature"]], 2010. *[[http://www.slideshare.net/larsthorup/elephant-carpaccio|SlideShare "Lars Thorup "Elephant Carpaccio"]], 2011-08-05. *[[http://css.dzone.com/articles/elephant-carpaccio-user|DZone - Agile Zone "Giorgio Sironi: Elephant Carpaccio (on user stories)"]], 2013-12-08. *"Story slicing" is the major core skill which shall be improved by the Elephant Carpaccio exercise :-). ===== Literature ===== *Book [[http://www.amazon.de/exec/obidos/ASIN/919811803X/hemmerling-21|Emily Bache: "The Coding Dojo Handbook"]]. ===== Forums, Newsgroups ===== *AntMe! *[[http://www.antme-forum.de/|AntMe! Forum - Die erste große deutsche AntMe! Community]]. *[[http://www.antme-forum.de/board15-antme/board17-antme-anleitungen-snippets/7-anleitung-1-die-ameise-lernt-laufen-und-sammeln/|AntMe! Forum - Die erste große deutsche AntMe! Community "Anleitung 1: Die Ameise lernt laufen und sammeln..."]]. *[[http://social.msdn.microsoft.com/Forums/de-DE/home?forum=1058|MSDN Foren Archive - Group "AntMe! - Forum zur Betaversion"]] ( 2006 - 2009 ). *[[http://www.coderetreat.org/|Coderetreat Community Network]]. *Facebook. *[[http://www.facebook.com/antme2|Facebook "AntMe! - Die Ameisensimulation"]]. *[[http://www.facebook.com/pages/Code-Kata/142210652475169|Facebook "Code Kata"]]. *[[https://www.facebook.com/thehackfest|Facebook "Hackfest - Hackathons and Hackdays"]]. *[[http://www.facebook.com/groups/loeschungmarkehackathon|Facebook "Löschung Trademark Hackathon"]]. *[[http://www.facebook.com/groups/129627130234/|Facebook "Robocode"]]. *[[http://www.facebook.com/event.php?eid=259399660758409|Facebook "DevDojo - coding dojo do DevIsland"]]. *[[http://google.com/+antme|Google+ "AntMe! - Die Ameisensimulation"]]. *[[http://www.meetup.com/orlandodojo/|The Orlando Coding Dojo]]. *[[http://www.meetup.com/orlandodojo/messages/archive/|The Orlando Coding Dojo "Mailing List Archive"]]. *[[http://tech.groups.yahoo.com/group/pghcodingdojo/|Yahoo Groups "PghCodingDojo. Pittsburgh Coding Dojo"]]. ===== Off-Topic: Same Name, but not about Programming Contests & Self-Training in Coding ===== *[[http://www.codedojo.com/|Coding Dojo.com]]. *[[http://www.codecapers.com/|Code Capers - The Ninja Coding Dojo]]. *[[http://www.dojotoolkit.org/|dojo toolkit]] - "Unbeatable JavaScript Tools". *[[http://www.protodojo.com/c|ProtoDojo]]. *[[http://programming.dojo.net.nz/|Programming Dojo]]. *[[http://www.oriontransfer.co.nz/blog/2010-04/programming-dojo|Samuel Williams "Programming Dojo"]]. *[[http://rubyforge.org/projects/dojor/|RubyForge "DojoR - setting dojo onto the Rails"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/1430210664/hemmerling-21|Frank Zammetti: "Practical Dojo Projects"]]. {{tag>"coding dojo" "coding cutter" dojo coding cutter "programming contests" "programming contest" self-training kata randori "code retreat" code retreat "object calisthenics" object calisthenics "elephant carpaccio exercise" "elephant carpaccio" elephant carpaccio AntMe! antme}}