Welcome to the Heather Cafe

Chris Jefferson is a professor of computer science at the University of St Andrews, working on computational group theory, constraint programming and puzzle generation.
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 to test ideas in all three, and I'm trying to get better at explaining what I find.

Professor of Computer Science  ·  University of St Andrews
Chris Jefferson

What I work on

I work on three closely related problems: computing with groups, building constraint solvers, and understanding how people solve puzzles. See the full publications list for the details.

Computational group theory

I design algorithms for permutation groups, including graph backtracking, canonical images and refiners. I develop the Vole and GraphBacktracking packages for GAP.

Constraint programming

I build constraint solvers and modelling tools. I co-authored the Minion solver and the Essence language, and contribute to Conjure and Savile Row.

Interested in doing a PhD?

I supervise projects in all three areas. Email caj21@st-andrews.ac.uk with a few sentences about the problem that interests you, and mention that you found this page at heather.cafe. I get a lot of generic PhD emails; this tells me 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