Start here
Puzzle Programming Practice
An introduction to puzzle programming as a hobby: what it is, the skills it builds, how to start small, and how to keep practicing without burning out.
Theory and Tools
Code puzzles, challenges and how to design them.
Start here
An introduction to puzzle programming as a hobby: what it is, the skills it builds, how to start small, and how to keep practicing without burning out.
Practical advice on puzzle design: how to write clear, fair coding puzzles with answers that can be checked, and how to test them before sharing.
A look at the classic FizzBuzz puzzle and what changes when you express it in a tape, stack or grid language instead of a conventional one.
A general look at programming games, the puzzle style where you build tiny programs to solve levels, and what they can and cannot teach.
How to study code you did not write: when to look, how to read it, what to take away, and how to avoid simply copying someone else's answer.
A look at obfuscated code: playful obfuscation as a creative pastime, practical code protection, how they differ, and what each can and cannot do.
Why programs that read the same forward and backward are a favorite puzzle, what makes them hard, and why grid languages suit the idea so well.
What polyglot programs are, how one source file can be valid in several languages, the common techniques behind them, and why people enjoy making them.
How scoring rules shape which solutions win in code challenges, common scoring methods, their side effects, and how organizers can aim for fairness.
Maze solving as a programming puzzle: common traversal ideas such as wall following and search, and how they map to a pointer moving across a grid.
Strategies for fitting a program into a small number of characters or grid cells: planning, reuse, reshaping the algorithm, and knowing when to stop.
Related topics