In this project, we seek to minimize the gap-to-capacity (given by Shannon’s theoretical limit) of a rate 1/3 code. This is done via a convolutional encoder/decoder for vary- ing memory elements as well for both soft and hard decoding scheme. We show that the gap-to-capacity can be minimized with respect to the suboptimal un-coded code word or a (3,1) repetition code. Although better schemes are avail- able such as LDPC and turbo codes, we have chosen the convolutional code for its simplicity and generality. That is, a generic framework can be readily developed for which multiple convolutional schemes can be implemented with minimal changes to the overall structure (see Appendix A for MATLAB code). In this paper, we present the basic concepts associated with convolution codes, specific encoding and decoding schemes used in this project, and results com- paring the gap-to-capacity of the algorithm implemented with respect to Shannon’s optimal code.