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  
09 Sep 2026 What happens in practice if the P=NP problem is solved?  
04 Sep 2026 People keep explaining the Monty Hall problem wrong Probability, Programming
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
No matching items