some stats on 15,000 practice sessions

As I write this (September 2014) the number of practice dojos on cyber-dojo.org is about 15,000.

The most popular day to run a cyber-dojo is Thursday.
  • 1375 Saturday
  • 1022 Sunday
  • 2488 Monday
  • 2588 Tuesday
  • 2575 Wednesday
  • 2660 Thursday
  • 2307 Friday

The most popular language-unit-test framework is Java-JUnit (but the figures probably depend a lot on which ones have been installed the longest).
  • 3125 Java JUnit
  • 2881 C# NUnit
  • 1087 Python unittest
  • 1071 C++ assert
  • 904 C assert
  • 736 PHP PHPUnit
  • 701 Javascript assert
  • 600 C++ GoogleTest
  • 525 Ruby TestUnit
  • 384 Python pytest
  • 357 Java Approval
  • 324 Java Mockito
  • 278 C++ CppUTest
  • 219 Ruby RSpec
  • 217 Java Cucumber
  • 205 Javascript jasmine
  • 157 Haskell hunit
  • 154 Clojure .test
  • 131 Go testing
  • 125 C++ CATCH
  • 120 Perl TestSimple
  • ...

The most popular exercise is Fizz Buzz (again, some have been installed longer than others).
  • 2091 Fizz Buzz
  • 1830 100 doors
  • 924 Verbal
  • 787 Calc Stats
  • 778 Leap Years
  • 733 Roman Numerals
  • 722 Game of Life
  • 713 Anagrams
  • 644 Print Diamond
  • 549 Tennis
  • 498 Prime Factors
  • 476 LCD Digits
  • 466 Yatzy
  • 405 Bowling Game
  • 355 Count Coins
  • 329 Number Names
  • 298 Harry Potter
  • 287 Mine Field
  • 286 Phone Numbers
  • 192 Poker Hands
  • ...


terms & conditions

  • cyber-dojo is free for non-commercial use.
  • Commercial use of the public server requires a license. For example, if you work for a profit-making organization, and you're using https://cyber-dojo.org at work, you need a license.
  • The cyber-dojo Foundation issues licenses
  • cyber-dojo is provided in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

please email us your feedback

What did you like?
What did you dislike?
What should I add?
What should I remove?
Please email your feedback.

how is cyber-dojo implemented?



what is cyber-dojo?

cyber-dojo at Trondheim XP meetup
  • a dojo is a place where martial artists practice martial arts.
  • cyber-dojo is where programmers practice programming!
  • cyber-dojo is not an individual development environment.
  • cyber-dojo is a shared learning environment.
  • in a cyber-dojo you focus on improving rather than finishing.
  • in a cyber-dojo you practice by going slower.

cyber-dojo tips

  • Repeat your practice. Repetition frees up mental capacity creating space for improvement.
    Don't be too concerned about finishing; think about improving.
  • cyber-dojo is designed to encourage team practice and works well with two (or more) people at each computer, periodically rotating the current keyboard drivers to different computers as navigators.
  • After each practice use the dashboard to start a review. Look for evidence of...
  • Practice refactoring.
  • Allow at most N amber traffic-lights (total or in-a-row)...
    • per animal
    • per cyber-dojo
    • repeat with reduced value of N
  • Turn on traffic-light colour prediction. Allow at most N incorrect predictions...
    • per animal
    • per cyber-dojo
    • repeat with reduced value of N
  • Set social challenges...
    • Change keyboard drivers before starting each new practice
    • Change keyboard drivers during a practice
    • Change pairs before starting each new practice
    • Change pairs during a practice
  • Set technical challenges...
    • no loops
    • no conditionals
    • no division or modulus
    • immutable data structures only
    • no mouse
    • no data structures
    • maximum 5 lines per method
    • maximum 2 levels of indentation
    • the possibilities are endless!
  • When everyone is at green set a challenge to either...
    • find some code you can delete and the tests still all pass
    • find a bug, and write a failing test for it
  • Create a custom starting point...
    • with all the tests, but none of the code
    • with all the code, but none of the tests
    • with a specific fault - which pair can fix it first?
  • Play the average-time-to-green-game.