Skip to content
Voile edited this page Sep 1, 2017 · 15 revisions

What is a Kata?

In our dojo, kata are code challenges focused on improving skill and technique. Some train programming fundamentals, while others focus on complex problem solving. Others are puzzles meant to test your creative problem solving, while others are based on real world coding scenarios.

Each kata is crafted for and by the community. The author (or Sensei) who created kata will initially include one or more languages to train in. Other Code Warriors later can "translate" the kata into additional languages.

Where did the term come from?

The term was first coined by Dave Thomas, co-author of the book The Pragmatic Programmer in a bow to the Japanese concept of kata in the martial arts. Dave's version of the concept defines a code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition.

Repetition

On Codewars the idea of repetition is encouraged at your own pace. You will not be pressured to repeat kata you have already completed. If you struggle on a kata it is recommended that you save it to a collection and revisit the kata later. Even doing a kata just once will often give you some of the value that would normally only come from repetition. This is because after you complete a kata, and your solution is fresh within your mind, you are shown the solutions of other warriors. This can often lead to an epiphany that you otherwise would have to have found on your own over time.

Practice and Repeat Training

On the Codewars dashboard you will always find a kata that you can train with. These kata are chosen at random based off of a training routine. If you select your routine to be "Practice and Repeat" then you will only be given kata you have already trained on. This is an excellent way to hone your skills. Repeatedly completing the same kata will allow you to discover and master efficient ways of handling common programming tasks.

You can learn more about training routines here.

How Are Kata Created?

Kata are created by other code warriors. They are given this privilege once they have earned 75+ honor. When a kata is published by an author, it will go into a beta process where the community can help test and provide quality assurance feedback.

Clone this wiki locally