Kata Ranks
warning
The rank definitions on this page is outdated.
White (Beginner)#
8 Kyu#
8 kyu kata represent a beginner level. At this level, the kata are only challenging for users new to programming. This includes programming tasks such as:
- Defining a simple function (i.e. hello world)
 - Basic variable assignments
 - Fixing basic syntax issues
 - Trivial algorithms such as basic if/else statements
 
7 Kyu#
7 kyu kata represent a beginner programming level. At this level, the kata will generally challenge users on their core language and API reference knowledge. Tasks such as:
- Iterating arrays and returning a subset of values
 - Basic data type manipulations
 - Basic functional or object-oriented concepts
 - Basic Regular Expressions
 
Yellow (Novice)#
6 Kyu#
6 kyu kata represent a novice programming level. At this level, the kata will start to include more advanced algorithmic challenges and more complex language features. It includes:
- Complex language features (closures, scopes, monads, etc)
 - Complex OOP/Functional concepts
 - Basic Design Patterns
 - Complex Regular Expressions
 
5 Kyu#
5 kyu kata represent a novice programming level. At this level, the kata are similar to 6 kyu but more challenging. It includes:
- Complex language features that require mature OOP/Functional concepts
 - Advanced OOP/Functional concepts
 - Complex Design Patterns
 - Advanced regular expression usage
 
Blue (Competent)#
4 Kyu#
4 kyu kata represent a competent programming level. At this level, the kata begin to take some serious thought to complete. They include tasks that may handle:
- Computer science concepts utilizing complex algorithms
 - Advanced design patterns
 - Understanding intricate business requirements
 - Advanced concepts such as concurrency, parallelism, meta programming and cryptography
 
3 Kyu#
3 kyu kata represent a competent programming level. At this level, the kata are similar to 4 kyu but are more challenging. They include tasks that may handle:
- Computer science concepts utilizing advanced algorithms
 - Ability to implement advanced requirements in a scalable fashion
 - Basic AI/machine learning algorithms
 - Detailed usage of advanced concepts such as concurrency, parallelism and cryptography
 
Purple (Proficient)#
2 Kyu#
2 kyu kata represent a proficient programming level. At this level, kata require a mature understanding of complex programming concepts - concepts such as:
- Complex AI/machine learning algorithms
 - Reverse engineering techniques
 - Basic interpreters and compilers
 - Basic mini-programs with multiple feature requirements (such as a basic Markdown parser)
 
1 Kyu#
1 kyu kata represent a proficient programming level. At this level, kata are similar to 2 kyu but more challenging. They may include concepts such as:
- Advanced AI/machine learning algorithms
 - Complex interpreters and compilers
 - Complex Mini-programs with multiple feature requirements (such as a complete Markdown parser)