To reduce the effects of wireless channel on the signal transmitted from the source to the destination, the idea of cooperative communications has been introduced. In cooperative communications, the users in common vicinity share their resources to help each other for the reliable reception of their messages at the destination. This book starts from the basics of cooperative communications, covers the information theoretic aspect of the field and discusses in some details the underlying idea of block-Markov encoding. Based on the concept of block-Markov encoding, the idea of network coding is proposed and investigated for cooperative communications. The analytical results in terms of outage probability and the diversity-multiplexing tradeoff are presented, showing the scheme leading in performance compared with other cooperative communications schemes based on space-time and the repetition coding. This monograph will be of high value for the readers working in the field of wireless communications in general and in the area of cooperative communications in particular. In addition to this, the ideas can be exploited in the field of sensor networks as well.