  In this paper we provide an account of the Todd-Coxeter algorithm for
computing congruences on semigroups and monoids. We also give a novel
description of an analogue for semigroups of the so-called Felsch strategy from
the Todd-Coxeter algorithm for groups.
