This project examines the use of multilevel codes for the fading channel. It is observed that, since the performance metric on this is not Euclidean distance but error event length, multilevel codes provide a simple yet effective means of designing codes to achieve a desired level of diversity. In addition, multistage and parallel decoding techniques can simply decoder design and minimize decoding delay when multilevel codes are used. This project undertakes code design for the fading channel and various decoder structures in order to achieve high performance at minimum cost. Unification of multilevel coding theory with multidimensional coding theory, and application of distance and performance theorems available for multilevel codes to multidimensional codes is another goal.