5 ms·
Syllabus for Classics of Computer Science
- semireg 6y agoI’m a computer “scientist” and haven’t read a single one of these. And now I’m even more ashamed because I want the StackOverflow cliff notes. Seriously, this should be a book with commentary. Does such a thing exist? Maybe a project for Walter Isaacson.
- bawolff 6y agoProbably the biggest benefit is seeing how these ideas were introduced when new, the original context, how they were justified, why the researchers were interested in them, etc. Many (not all) of these are really foundational things that you probably already "know" the key points of or could easily look up on wikipedia.
- macintux 6y agoAdrian Colyer's blog isn't a bad place to start. https://blog.acolyer.org/2016/12/29/my-new-years-resolution-read-a-research-paper-every-weekday/ https://blog.acolyer.org/2016/12/29/my-new-years-resolution-...
- Jtsummers 6y agoMany of these were probably already distilled into a combination of textbook material, lectures and lecture notes, and class projects during the course of your degree. Though how much of it you were exposed to would depend on your particular subfield/focus during your degree program.
- jsyedidia 6y agoThe book will be released on February 2. "Ideas That Created the Future: Classic Papers of Computer Science" edited by Harry Lewis, and published by MIT Press.
- semireg 6y agoPre-ordered. Thank you!
- tzs 6y agoFor at least one of the papers in there a book of commentary does exist: "The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing Machine" [1] by Charles Petzold. The Wikipedia article describes it thusly: > Petzold annotates Alan Turing's paper "On Computable Numbers, with an Application to the Entscheidungsproblem". The book takes readers sentence by sentence through Turing's paper, providing explanations, further examples, corrections, and biographical information. [1] https://en.wikipedia.org/wiki/The_Annotated_Turing https://en.wikipedia.org/wiki/The_Annotated_Turing
- gautamcgoel 6y agoI am a CS PhD student, and I have to say, I really can't stand lists like this. First, why is Babbage's work on the Analytical Engine included? No computer scientist I know cares about such things, except perhaps as a historical curiosity. Do all modern architects need to read up on the Pyramids? No. Second, I am skeptical that there are papers that all computer scientists need to read. Does a computer vision expert need to go read a paper on computational complexity? Does a roboticist need to understand lambda calculus? This list is pretentious and silly, IMHO.
- tshaddox 6y agoIt’s just hyperbolic. It’s abundantly clear that the intention is to share a list of papers that a lot of people who are interested in computer science might find interesting.
- bawolff 6y agoTo me, it sounds like a history list basically. Understanding the past so we know how we got to today. Does anyone "need" to read anything? No. Would you be enriched by it? Maybe. I persinally think its an interesting reading list. More generally, this seems like an undergrad course. Isn't the point of an undergrad degree to give broad foundational instruction that can be further built on? What better way then to see how we got to the present. > Does a roboticist need to understand lambda calculus? Reading a single paper and understanding something is very different. Understanding it, is a bit much. Knowing the very vaugest of an introduction to the subject by reading a single very foundational paper, they might benefit from that. At the very least, they should know how to read and understand a paper in an adjacent field to their own (this is an undergrad class after all)
- Jtsummers 6y agoWhile the (original HN) title may have been a bit on the pretentious side, the linked syllabus explains the rationale for the course: > This course examines papers every computer scientist should have read, from the 1930s to the present. It is meant to be a synthesizing experience for advanced students in computer science: a way for them to see the field as a whole, not through a survey, but by reliving the experience of its creation. The idea is to create a unified view of the field of computer science, for students who already know something about it, by replaying its entire evolution at an accelerated frame rate. Which is not a bad idea. Many computer scientists, programmers, and software engineers have an ahistorical understanding of CS. See the discussion the other day when someone claimed "software engineering" is only 20-30 years old. They aren't a one-off, though probably not the majority. A significant number of people in this field don't know the history of it: how it was developed, what dead ends were hit, what dead ends turned out not to be dead ends (often once we got fast enough hardware), etc. Similar to the ethics course in many engineering/science curricula, it's something that seems a bit superfluous but turns out to add a great deal of value if students can be bothered to explore it.
- xwdv 6y agoEvery computer scientist should also read The Art of Computer Programming by Donald Knuth.
- macintux 6y agoSome of the best talks I've been fortunate enough to catch have been archaeological expeditions. MRB's was the first I attended, at RICON 2013: https://michaelrbernste.in/2013/11/19/distributed-systems-archaeology-part-one.html https://michaelrbernste.in/2013/11/19/distributed-systems-ar... I wasn't lucky enough to catch it live, but Bret Victor's classic "The Future of Programming" is worth watching if you haven't already: http://worrydream.com/dbx/ http://worrydream.com/dbx/ And I might as well plug my own talk about the CS papers on logical time, not nearly on the caliber of the above: https://youtu.be/b_swtL5bxJg https://youtu.be/b_swtL5bxJg
- baby 6y agoMissing crash-only software.
- mrtnmcc 6y ago> This course examines papers every computer scientist should have read, from the 1930s to the present. But the latest paper listed is from 1986. Has there really been no fundamental CS progress in ~four decades?
- bawolff 6y agoIs 40 years enough time to really establish if something is fundamental? Its not history if its still happening.
- Jtsummers 6y agoThe latest paper actually seemed to be 1999. The purpose of the course doesn't seem to be to establish the totality of fundamental CS papers, but to place CS developments in a historical context covering them from their creation forward.
- gumby 6y agoIt's a list of papers most of which look like they'd be fun to read. I am surprised to have read a surprising number of those (25-30%) but I've had thirty-five years to do so. Yes I read a bunch -- perhaps half of that number -- in graduate seminars decades ago so that helped, but if you tried to read them all at once you'd be overwhelmed and miss a lot of the significance. Also almost all were published before 1980 which implies the faculty might have been in school around then too.
- cbozeman 6y agoSave yourself the clicks and the reading folks. I've seen shit like this in every field... "Books every historian should have read." "Books every English professor should have read." "Books every psychoneuroendocrinologist should have read." They're all a collection of shit that someone, somewhere - usually with an inflated self of self - feels qualified to tell you and every other person that they should have read. You know what you should have read? Papers you find interesting that advance your understanding for the problems you face. Understand I'm not saying that every list everywhere is a load of horseshit that you need to ignore - I'm not. I'm saying be wary of all-encompassing "lists" of "things" you "should" do / know / read / experience. EDIT: LOL, stealth edit on the title... from "Papers every computer scientist should read" to "Syllabus for Classics of Computer Science". Well... at least the pretension took a backseat. :)
- bawolff 6y ago> Books every English professor should have read That's a weird example. There is an actual western canon and you're probably a bad english professor if you aren't familar with it.
- dinvlad 6y agoBetter still, "The List of StackOverflow questions every developer should know, but looks up every damn time"
- tomerbd 6y agoIs there such a list?
- Larrikin 6y agoHow to exit vim is almost certainly number one
- buzzerbetrayed 6y agoJust restart your computer. That ought to do it.
- tomerbd 6y agoIs there a video of these lectures?
- poulsbohemian 6y agoFWIW: Browsing through this, I was surprised by how many of these we read or that professors referred to during my undergrad years, twenty years ago. While it certainly wouldn’t be a complete CS curriculum, there’s plenty of good meat here.
- newbie2020 6y agoNice list. A walk through some of the foundational moments in CS. Wish I had something like this in my program. Though I did get to read a couple of them when they helped contextualize what we were doing (eg I read Codd's paper in a databases course, etc.)
- bikenaga 6y agoIn case anyone missed it, there's a link on the page to a larger list, which also gives links for the individual documents: https://docs.google.com/spreadsheets/d/1wS6O7-ZoFL7Cfjgt-kdhYxfg0qHdXyzpjJxikiqNPZg/edit#gid=65049622 https://docs.google.com/spreadsheets/d/1wS6O7-ZoFL7Cfjgt-kdh...