Coding Dojo is a place for training in agile development principles and practices such as test-driven development, refactoring, and retrospectives. It is modeled after traditional dojos where martial arts are taught, providing a dedicated space and structured schedule for students to learn by coding together, with an emphasis on choosing problems and languages democratically and writing automated tests before coding solutions.