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)