A very active field of research is emerging at the frontier of statistical physics, theoretical computer science/discrete mathematics, & coding/information theory. This book sets up a common language & pool of concepts, accessible to students & researchers from each of these fields.