• ASCII Art

    Create shapes and drawings with formatted strings and characters.

  • Algebra
  • Algorithms
  • Angular
  • Arrays
  • Artificial Intelligence
  • Asynchronous
  • Backend
  • Big Integers
  • Binary
  • Binary Search Trees
  • Binary Trees
  • Bits
  • Cellular Automata

    Use for kata related to state/rule-based grid simulations.

  • Ciphers
  • Combinatorics
  • Compilers
  • Computational Science

    Also known as scientific computing or scientific computation.
    https://en.wikipedia.org/wiki/Computational_science

  • Concurrency
  • Cryptography
  • Data Frames
  • Data Science
  • Data Structures
  • Data Visualization
  • Databases
  • Date Time
  • Debugging

    Use when existing code is provided that must be fixed.

  • Decorator
  • Deep Learning
  • Design Patterns
  • Discrete Mathematics
  • Domain Specific Languages
  • Dynamic Programming
  • Esoteric Languages

    Languages that aren't intended for general-purpose problem solving.
    Use for interpreters/compilers of these languages.

  • Event Handling
  • Express
  • Filtering
  • Flask
  • Frontend
  • Functional Programming
  • Fundamentals
  • Game Solvers
  • Games
  • Genetic Algorithms
  • Geometry
  • Graph Theory

    Use for algorithms and data structures that deal with graphs/networks made up of edges and vertices (nodes).

  • Graphics
  • Graphs

    Use for charts. Use Graph Theory for the algorithm paradigm/data structure.

  • Heaps
  • Image Processing
  • Interpreters
  • Iterators
  • JSON
  • Language Features
  • Linear Algebra
  • Linked Lists
  • Lists
  • Logic
  • Logic Programming
  • Machine Learning
  • Macros
  • Mathematics
  • Matrix
  • Memoization
  • Metaprogramming
  • Monads
  • MongoDB
  • Networks

    Use for networking protcols and standards such as TCP/IP and HTTP (not the graph data structure; use Graph Theory)

  • Neural Networks
  • NoSQL
  • NumPy
  • Number Theory
  • Numerical Analysis
  • Object-oriented Programming
  • Parsing
  • Performance
  • Permutations
  • Physics
  • Priority Queues
  • Probability
  • Promises
  • Puzzles

    Use when the kata description is intended to be indirect and provoke thought and analysis to grasp.

  • Queues
  • Randomized Algorithms
  • React
  • Reactive Programming
  • Recursion
  • Refactoring

    No new functionality is added; Use for code quality and design improvements.

  • Reflection
  • Regular Expressions
  • Restricted

    Kata that impose artificial constraints, such as disallowed language features or limited solution code length.

  • Reverse Engineering
  • Riddles

    Kata that implement brain teasers or logic puzzles.

  • RxJS
  • SQL
  • Scheduling
  • Searching
  • Security
  • Set Theory
  • Sets
  • Simulation
  • Singleton
  • Sorting
  • Stacks
  • State Machines
  • Statistics
  • Streams
  • Strings
  • Theorem Proving
  • Threads
  • Trees
  • Tutorials
  • Unicode
  • Web Scraping
  • Web3