This document describes convolutional coding. Convolutional coding is specified by parameters like codeword length, message length, and constraint length. The generator matrix defines how input bits are mapped to codewords. An example of a convolutional code with parameters n=2, k=1, v=3 is described. The Viterbi algorithm is used for decoding convolutional codes and finds the most likely sequence of transmitted bits based on the received codeword and known generator polynomials. Implementation issues like puncturing and interleaving are also discussed.