Introduction to linear error correcting codes with an emphasis on the algebraic tools required, including matrices vector spaces, groups, polynomial rings, and finite fields.
- Define basic objects in coding theory, such as codes, errors, erasures, distance, linear codes, generator matrices, parity check matrices, syndromes, encoding, decoding, cyclic codes
- Apply algebraic structures such as finite fields, ideals, cyclic subspaces, irreducible polynomials, duals to solve problems in communication
- Construct classical codes meeting certain requirements on rate or error-correction capability, such as Hamming, Golay, BCH, or Reed-Solomon codes
- Recall and apply bounds on tradeoffs in communication to various scenarios
- Communicate the principles of error correcting coding in various contexts
- Explain and sketch proofs related to coding theory
We will primarily follow the freely-available textbook:
Essential Coding Theory, by Venkatesan Guruswami, Atri Rudra, and Madhu Sudan.
This course will be graded differently than you are likely used to from your other college courses. The majority of the work that you turn in will be evaluated against quality standards that will be made clear for each assignment. If your work meets the standard, then you will receive full credit for it. Otherwise, you will get helpful feedback and usually the opportunity to attempt them again. As a consequence, since there are no points, there is no partial credit and no averaging of grades. This feedback loop represents and supports the way that people learn: By trying things, making mistakes, reflecting on those mistakes, and then trying again. You can make mistakes without penalty as long as you eventually demonstrate evidence of skill.
There are three major components of your grade: four exams, a group video project, and semester-long engagement with the course. The exams and project are graded as above, with possible grades of Master, Proficient, or Beginner on each attempt. Exam problems will be predominantly drawn from homework sets. Engagement points are earned by attending class, completing pre-class prep work, doing homework, and occasional other activities throughout the semester. There will be at least 190 engagement points available during the semester.
Your grade will be assigned according to the requirements listed below. Your grade is the highest grade level for which all of the requirements have been met or exceeded.
- A: Achieve 3 Master and 1 Proficient results on exams, a Master result on the Video Project, and earn at least 160 engagement points
- B: Achieve 2 Master and 1 Proficient results on exams, a Proficient result on the Video Project, and earn at least 140 engagement points
- C: Achieve 1 Master and 2 Proficient results on exams, a Proficient result on the Video Project, and earn at least 115 engagement points
- D: Achieve 3 Proficient results on exams, a Beginner result on the Video Project, and earn at least 90 engagement points
Attendance is expected at all class sessions. 2 points are earned toward the Engagement category of your course grade for each day you attend.
Students are expected to maintain the highest standards of academic integrity. All work submitted must be original and properly cited. Plagiarism, cheating, or any form of academic dishonesty will result in immediate consequences as outlined in the university's academic integrity policy.