Code kata
The term code kata was coined by Dave Thomas, co-author of The Pragmatic Programmer. The idea is borrowed from the martial arts concept of kata, a choreographed sequence of movements practiced repeatedly to build technique and muscle memory. Applied to software development, a code kata is a small, self-contained coding exercise designed to be solved again and again, with each repetition offering an opportunity to refine technique, experiment with a different approach, or drill a specific skill.
Unlike competitive programming challenges, where the goal is simply to arrive at a correct solution, the value of a code kata lies in repeated practice. Practitioners typically choose a familiar problem — eg. converting Roman numerals, detecting anagrams, implementing a simple calculator — and work through it deliberately, often under self-imposed constraints such as avoiding certain language constructs, adhering strictly to [test-driven development], or completing the solution within a fixed time limit.
Repeating the same kata in different programming languages is a common way to build cross-language fluency.