Probability theory has always been a key mathematical tool in coding theory since the work of Shannon who proved his fundamental limit result by an averaging technique. Since then an effective way to construct good codes has consisted in choosing a sufficiently rich ensemble of codes and in studying their properties by averaging over the ensemble. Two recent noteworthy examples are the ensembles of turbo codes or low density codes, which are studied in this way. Recently also graph theory has acquired considerable importance: graphs are very useful to represent codes in certain ensembles and are the natural way to implement low complexity decoding strategies as the belief propagation algorithm. In this workshop researchers both from the mathematical and from the engineering community, will discuss some recent developments of these techniques and will try to point out some important research problems for the future.