The ability to anticipate and address unusual or boundary conditions in code that might cause errors.
Code generation, debugging, explanation, and refactoring
Multi-step reasoning, logic puzzles, mathematical problem-solving