Kata Ranks
warning
The rank definitions on this page is outdated.
#
White (Beginner)#
8 Kyu8 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 Kyu7 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 Kyu6 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 Kyu5 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 Kyu4 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 Kyu3 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 Kyu2 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 Kyu1 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)