-
Notifications
You must be signed in to change notification settings - Fork 220
Kata Ranking
8 kyu kata represent a beginner level. At this level the kata is 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 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
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 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
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 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
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 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)