Noisy-Channel Coding: I (Chapter 8 & 9)