Today's lecture discussed convolutional codes, which differ from block codes in that they encode entire data streams continuously rather than segmenting data into blocks. Convolutional codes can be represented using vectors, impulse responses, polynomials, state diagrams, and trellis diagrams. A rate 1/2 convolutional code with constraint length K=3 was used as a example. The encoder for this code was explained and its state diagram and trellis representation were shown.