Ars combinatorica. (Waterloo, Canada University of Waterloo, 2004)