Convolutional codes have long been recognized as the preferred method of providing error control over a variety of communication channels. Examples of their practical application can be found in deep space communication, digital satellite transmission, military communications, mobile cellular telephony, and high speed data modems. Despite the many examples of their practical importance, relatively little research has been conducted into the fundamental properties of convolutional codes, compared to other methods of error control. This project is a program of basic research into several new approaches to finding efficient methods of encoding and decoding convolutional codes. Spurred by recent advances in trellis coded modulation, iterative decoding techniques, and the decoding of very complex codes, five areas of research are undertaken: cascaded convolutional codes, multilevel convolutional codes, product convolutional codes, non-standard rate convolutional codes, and unbalanced memory convolutional codes. The goal is to uncover new code structures which can offer better trade-offs between error performance, decoder complexity, and system delay than the standard structure. Particular emphasis is given to studying the fundamental role that delay plays in determining the relationship between performance and complexity. The results of this research may provide viable alternatives to existing coding schemes in applications such as low earth orbiting satellite networks, digital mobile cellular communications, and wireless indoor packet transmissiol systems.