Text this: Fundamentals of Codes, Graphs, and Iterative Decoding