Convolutional codes I: Algebraic structure | Synapse