Essential Coding Theory [pdf] 154 points by noch 42 days ago | hide | past | favorite | 19 comments

 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... Read the linked book for the full details.
 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.
 Here is the Notation appendix from my LA book https://minireference.com/static/excerpts/notation_appendix.... for your reference, and another excerpt with basic info about about using set notation https://minireference.com/static/excerpts/set_notation.pdfIf 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... 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
 Thank you, that's a huge help!
 A lot of the notation in coding theory is drawn from set theory, like ∈ (set membership). Which, more specifically are you confused about?
 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
 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.
 > 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.
 I feel like you are probably being a little too harsh in your response. If you dislike the content then move along, comment, or downvote. There is no reason to be uncivil and attack the person when attacking the content would do a sufficient job of conveying your point.
 Just FYI, there is no downvoting for submissions on Hacker News. If you dislike the topic, ignore it and move on. Only for inflaming submissions, there's a "flag" button. Normally it's rarely used, I've only used it a few times before, but effective to kill toxic political flamewars before it's out of control.
 Hey, thanks for that. I know I've seen it said before but as I don't yet have the karma to downvote anything it is easy to forget.
 I think our part in the community also entails we maintain a high standard of quality in discussions, which means that instead of complaining and making parallels to reddit, maybe we should provide other, maybe better resources and add to the discussion.
 Still better than the usual stream of political news, hollow Scientific American write-ups and half-wit medium musings.
 Coding theory was a required class in my computer engineering program, I don't think it's super esoteric. This looks like a pretty nice, thorough document.
 Different parts of the community have different background knowledge.
 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.htmlAssociated lecture series: https://www.youtube.com/playlist?list=PLruBu5BI5n4aFpG32iMbd...
 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 :)
 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.
 Seems like a lot just to learn web coding.

Search: