The third and final exam will cover maximum likelihood and nearest neighbor decoding. It includes the study of maximal, optimal and perfect codes. We discussed also sphere-packing and sphere covering bounds and the relevance of these bounds for perfect and optimal codes. Also the estimation of the probability of correct decoding. And the transmission rate and error-correcting rate and the statement of the noisy coding theorem. We also studied linear codes and their properties. We discussed general notions of vector space, subspace, linear dependence and independence, solving simultaneous linear equations with coefficients in a field, weight of a linear code, error-correcting in a linear code, determination of distance, generator and parity check matrices for a code, syndrome decoding. The very last topic will either be a discussion of Hamming codes or obtaining the left standard form of a generator matrix.