A Student's Guide to Coding and Information Theory