Two procedures for decoding linear systematic codes, majority decoding and a posteriori probability decoding, are formulated. The essential feature of both methods is a linear transformation of the parity-check equations of the code into 'orthogonal parity checks.' The decoding decisions are then made on the basis of the values assumed by these orthogonal parity checks. For binary codes, the principal component required in the circuitry for instrumenting these decoding rules is an ordinary threshold logical element. For this reason, these decoding rules are referred to as forms of 'threshold decoding.' It is shown that threshold decoding can be applied effectively to convolutional codes up to approximately 100 transmitted bits in length over an interesting range of rates. Very simple decoding circuits are presented for such codes. It is shown that threshold decoding is applicable to certain low-rate block codes, and that a generalization of the method is applicable to several other classes of block codes. It is shown that simple decoding circuits can be used for such codes.