Welcome to the Heather Cafe

Welcome to the Heather Cafe

Chris Jefferson

I'm a professor of computer science thinking about groups, constraints and puzzles. I spend lots of time writing programs for all these things, and I'm trying to get better at writing about them.

St Andrews  ·  Dundee Currently in Changsha, China
Chris Jefferson

What I work on

My work spans three areas that keep eavesdropping on each other. See the full publications list for the details.

Computational group theory

Algorithms for permutation groups — graph backtracking, canonical images, refiners. I develop the Vole and GraphBacktracking packages for GAP.

Constraint programming

Solver design, propagation, automated modelling. Co-author of the Minion solver and the Essence specification language.

Puzzles & games

Puzzle generation, difficulty measurement, understanding how humans solve. Demystify explains puzzle solutions step by step.

Prospective PhD students, pull up a chair

I welcome applications in any of the areas above. Email caj21@st-andrews.ac.uk and mention you found this page at heather.cafe — I get a lot of generic PhD emails, and this helps me know you've actually looked at my work.

Recent posts

  Posts  
13 Apr 2026 How many pieces do you really need for a calendar puzzle? Puzzles, Search, Constraint programming
04 Apr 2026 JSONLines — My Favourite Format code, data formats
30 Mar 2026 Making the most annoying jigsaw puzzle Puzzles, Search
16 Mar 2026 Too much Discussion of the XOR swap trick Programming, Rambling
No matching items