In this work, we study the problem of designing rate-compatible (RC) error correcting codes for use in incremental redundancy hybrid ARQ (IR-HARQ) systems to address the rate flexibility requirement of wireless communication systems. Our goal is to design codes to maximize the throughput of IR-HARQ, where the throughput is defined as the number of the bits in a message divided by the average number of code bits that need to be transmitted for successful decoding. The rate-flexibility of our schemes is achieved by puncturing and extending a mother code. We consider reliability-based (RB) HARQ schemes where a feedback channel is used to convey information reflecting the reliability of the received code bits. We aim to design RB-HARQ schemes based on LDPC codes with the goal of improving the throughput performance while maintaining the overhead in the feedback channel. We then show how both low density parity check (LDPC) and low density generator matrix (LDGM) codes can be combined to design RC codes whose nature varies from LDPC to LDGM as the rate of the codes decreases, and thus benefiting from the advantages of both types of codes at the same time. The proposed method results in a universal capacity-approaching IR-HARQ scheme which remains within 1 dB of the Shannon capacity of the binary input additive white Gaussian noise (BIAWGN) channel. We then study the design of polar codes for IR-HARQ. We propose new puncturing and extending algorithms for polar codes, and show how they can result in capacity-approaching throughput performance with very low decoding complexity. We then aim to improve the performance of polar codes at finite lengths to use them as the mother code. In particular, the design of generalized concatenated codes based on polar (GCC-polar) codes is studied. A new method to design the GCC-polar codes is proposed. The proposed method employs density evolution to design the outer codes for the actual channels seen by them with the goal of minimizing their BLER. Once a set of outer codes with different rates have been constructed, we propose a rate-allocation algorithm to determine the rates of the outer codes of the GCC-polar code. The resulting GCC-polar codes outperform Arikan's codes and the previous works on the literature and can be used in place of the mother code for IR-HARQ ii I would like to express my deepest gratitude to my supervisor, Dr. Ian Marsland, for his invaluable guidance and close engagement throughout the course of my research. He has been a great mentor to me without whom none of this would have been possible. It has been an honor for me to have had the pleasure of working with him.