

Ask HN: Practical CS papers you've read and would recommend? - krmboya

By practical, I mean papers that explain individual concepts that you can implement over a weekend, preferably systems-oriented rather than math-oriented. I'd welcome papers from the earlier days of computing that contain an idea that has stood the test of time. At the top of my head are areas such as compilers or implementation of particular algorithms.<p>Reason:<p>I'm a soon to graduate CS student, and although I've learnt a whole bunch of things and can code reasonably well, I feel that I'm not as well-grounded as I should be in CS theory.<p>I'd rather not move on the grad school immediately as I'd like to get some industry experience, but I plan to work through TAOCP volume 1, and then the dragon book (compilers). I feel that working through some CS papers first would prepare me for this exercise.
======
dfeltey
I'm not sure whether you would consider this paper systems-oriented, but it's
fun and sort of practical. "A Play on Regular Expressions" is literally a 3
act play about efficiently implementing regular expressions with code in
Haskell. I've been working through it and trying to adapt some of the code for
a workshop I'm giving this summer, and it's been very readable and
interesting.

<http://sebfisch.github.io/haskell-regexp/regexp-play.pdf>

~~~
krmboya
Thanks! I'll try it out once I can understand Haskell syntax..

------
dbarlett
"The Anatomy of a Large-Scale Hypertextual Web Search Engine" (PageRank)
<http://ilpubs.stanford.edu:8090/361/>

"A Method for the Construction of Minimum-Redundancy Codes" (Huffman Coding)
[http://www.ic.tu-berlin.de/fileadmin/fg121/Source-
Coding_WS1...](http://www.ic.tu-berlin.de/fileadmin/fg121/Source-
Coding_WS12/selected-readings/10_04051119.pdf)

------
relaunched
Dancing Links - Donald Knuth - <http://arxiv.org/abs/cs/0011047>

Lots of fun and is a weekender, but you can expand it to solve anything from
sudoku to all kinds of tiling problems. David Goodger's webpage,
<http://puzzler.sourceforge.net/>, solves all sorts of polyform puzzles using
DLX algorithm.

