We consider the design of coding schemes for a channel affected by flat, slow fading and additive noise. Specifically, by using the “block-fading” channel model, we allow delay constraints to be taken into account. Optimum coding schemes for this channel model lead to the development of new criteria for code design, differing markedly from the Euclidean-distance criterion which is commonplace over the additive white Gaussian noise (AWGN) channel. In fact, the code performance depends strongly, rather than on the minimum Euclidean distance of the code, on its minimum Hamming distance (the “code diversity”). If the channel model is not stationary, as it happens for example in a mobile-radio communication system where it may fluctuate in time between the extremes of Rayleigh and AWGN, then a code designed to be optimum for a fixed channel model might perform poorly when the channel varies. Therefore, a code optimal for the AWGN channel may be actually suboptimum for a substantial fraction of time. In these conditions, antenna diversity with maximum-gain combining may prove useful: in fact, under fairly general conditions, a channel affected by fading can be turned into an AWGN channel by increasing the number of diversity branches. Another robust solution is based on bit interleaving, which yields a large diversity gain thanks to the choice of powerful convolutional codes coupled with a bit interleaver and the use of a suitable bit metric. An important feature of bit-interleaved coded modulation is that it lends itself quite naturally to “pragmatic” designs, i.e., to coding schemes that keep as their basic engine an off-the-shelf Viterbi decoder. Yet another solution is based on controlling the transmitted power so as to compensate for the attenuations due to fading.