This document discusses various techniques for multi-level and multi-transition line coding as well as block coding. It describes several line coding schemes including mBnL, 2B1Q, 8B6T, and 4D-PAM5 that encode digital data into multi-level signals. It also explains multi-transition coding like MLT-3. Block coding techniques such as 4B/5B, 5B/6B, and 8B/10B are presented which map binary data blocks to larger coded blocks. Scrambling methods including B8ZS and HDB3 are also summarized.