

Ask HN: Best CS Research Papers to read? - bgar

I&#x27;m a sophomore CS student, and would like to start deepening my knowledge much more. What are some good papers to start reading (as in, not so complicated that the content will go over my head).
======
teeray
"Raft: A distributed Consensus Protocol"
([https://ramcloud.stanford.edu/wiki/download/attachments/1137...](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf))
would be a very valuable thing to look at for a sophomore CS student. I
imagine it's a bit different than what you've studied so far, but the protocol
was designed for understandability and ease of implementation above all else.
As a result, it's gained quite a bit of interest from the industry, and you'll
find implementations in Go, Erlang, Java, etc. to pick apart.

~~~
bgar
Just read the first page so far and it's interesting. I'm intrigued by server
architecture and algorithms, thank you.

By the way, in case anyone wants to look at the safety proof and formal
specification for Raft (the paper's citation link is broken), it's at
[http://raftuserstudy.s3-website-us-
west-1.amazonaws.com/proo...](http://raftuserstudy.s3-website-us-
west-1.amazonaws.com/proof.pdf)

------
vasinov
Here is a collection of great computer science papers to get you started:
[http://jeffhuang.com/best_paper_awards.html](http://jeffhuang.com/best_paper_awards.html)

It includes some intermediate and pretty advanced topics.

~~~
bgar
Wow, what a great list! Thanks, I will peruse this page.

------
tjr
One favorite of mine is Danny Hillis' dissertation on the connection machine:

[http://dspace.mit.edu/bitstream/handle/1721.1/14719/18524280...](http://dspace.mit.edu/bitstream/handle/1721.1/14719/18524280.pdf)

And not really a research paper, but if you haven't read it, you'd might enjoy
Guy Steele's _Growing a Language_ :

[http://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf](http://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf)

~~~
bgar
Thank you, _Growing a Language_ looks especially relevant to me because I have
to write a ten page paper on "computers and language" for a class on
programming language history/design.

~~~
tjr
Then you might also want to look at the "lambda papers":

[http://library.readscheme.org/page1.html](http://library.readscheme.org/page1.html)

~~~
bgar
This seems very useful, thank you so much.

------
runT1ME
Nothing changed my worldview as much as this paper did, which I only saw a
couple years ago. Less you think I'm some easily impressed fad chasing newb,
I've been programming professionally for 13+ years

[http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf](http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf)

