  We investigate the performance of parity check codes using the mapping onto
Ising spin systems proposed by Sourlas. We study codes where each parity check
comprises products of K bits selected from the original digital message with
exactly C checks per message bit. We show, using the replica method, that these
codes saturate Shannon's coding bound for $K\to\infty$ when the code rate K/C
is finite. We then examine the finite temperature case to asses the use of
simulated annealing methods for decoding, study the performance of the finite K
case and extend the analysis to accommodate different types of noisy channels.
The connection between statistical physics and belief propagation decoders is
discussed and the dynamics of the decoding itself is analyzed. Further insight
into new approaches for improving the code performance is given.
