
Essential Coding Theory [pdf] - noch
https://cse.buffalo.edu/faculty/atri/courses/coding-theory/book/web-coding-book.pdf
======
ivan_ah
Error correcting codes are one of the coolest things you can do with math. In
general learning math is important for the _knowledge buzz_ moments and the
general "tooling for thought" but all of these are a little abstract and hard
to "sell." With coding theory, we have much more practical selling points:
learn math so you can understant GSM, 3G, LTE, 5G, 6G,... Wifi, ..., satellite
comms, storage like CDs, DVDs, BlueRay, HDs, etc.

The linked book is pretty good with lots of nice explanations and good
examples.

For a short, blog-post-like intro to the subject check out this 9-page PDF:
[https://minireference.com/static/excerpts/error_correcting_c...](https://minireference.com/static/excerpts/error_correcting_codes.pdf)
Read the linked book for the full details.

~~~
triyambakam
I really appreciate you sharing this. After a few years in the industry but
without a CS degree I've been going through the teachyourselfcs curriculum. I
hadn't come across coding theory yet. Where should I start if a lot of the
math symbols in your link are lost on me? I know I've used them years ago but
I've forgotten.

~~~
ivan_ah
Here is the Notation appendix from my LA book
[https://minireference.com/static/excerpts/notation_appendix....](https://minireference.com/static/excerpts/notation_appendix.pdf)
for your reference, and another excerpt with basic info about about using set
notation
[https://minireference.com/static/excerpts/set_notation.pdf](https://minireference.com/static/excerpts/set_notation.pdf)

If you plan to read the book by Guruswami, Rudra1, and Sudan you should
consult their notation: [https://cse.buffalo.edu/faculty/atri/courses/coding-
theory/b...](https://cse.buffalo.edu/faculty/atri/courses/coding-
theory/book/web-coding-book.pdf#page=343) For most types of symbols you can
figure out what they mean intuitively, but these two are really important, and
not obvious at all:

(n,k,d) ≝ code with block length n, dimension k, distance d

[n,k,d] ≝ a linear code with block length n, dimension k, distance d

~~~
triyambakam
Thank you, that's a huge help!

------
damnruskie
a typical hn post of esoteric theory that ppl likely upvote due to 'essential
coding' buzzwords and stuff they cant understand. While there's some good
content in here, posting a pdf of a some teachers lecture notes without
additional context is just the HN equivalent of reddit karma whoring. At least
provide a sentence saying why this is better than some other resource

~~~
bitdizzy
I don't think coding theory is that esoteric. I would expect many, but perhaps
not a majority, of people with a computer science or mathematics education to
have studied its basics. Its prerequisites are not too steep and of course it
is absolutely ubiquitous in digital technology.

I read the table of contents because I was curious what they considered
"essential" to compare it to my own opinion. I think it's an interesting
submission.

~~~
eru
> I would expect many, but perhaps not a majority, of people with a computer
> science or mathematics education to have studied its basics.

Or at least have heard about it on a pop-sci or Wikipedia level.

------
hexwab
I can highly recommend the late David Mackay's _Information Theory, Inference
and Learning Algorithms_. To my mind it's a much easier read than the above
book.

[http://www.inference.org.uk/mackay/itila/book.html](http://www.inference.org.uk/mackay/itila/book.html)

Associated lecture series:
[https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbd...](https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbdWoRVAA-
Vcso6)

------
ponderingfish
Madhu Sudan's books and papers are practically required reading when you are
working on a grad-level course on Coding theory. Just in case you think this
is a course on programming, its far from it. Coding Theory describes the math
behind the algorithms used to transmit data from point A to B. If you are
interested, jump to the Error Correcting Codes section for some fun times :)

------
sasaf5
The book could really do with a subchapter on convolutional codes and the
Viterbi algorithm. Those are the stepping stones to understand turbo decoders,
used in LTE.

------
balthasar
Seems like a lot just to learn web coding.

