The purpose of this course is to study information theory in general, both in classical and quantum setting, and to study the latest development on the theory of error-correcting codes. This is a self-study course. There will be meetings from time to time and each student is expected to give at least one lecture. Homework will be assigned and collected. Students should seek the course instructor's approval to take this course.