Channel Codes: Classical and Modern