Great Computer Science Papers? 410
slevin writes "Recently I listened to a talk by Alan Kay who mentioned that many 'new' software ideas had already been discovered decades earlier by computer scientists - but 'nobody reads these great papers anymore.' Over the years I have had the opportunity to read some really great and thought-provoking academic papers in Computer Science and would like to read more, but there are just too many to sort through. I'm wondering what great or seminal papers others have encountered. Since Google has no answers, perhaps we can come up with a list for the rest of the world?"
Nay, archetypal... (Score:5, Interesting)
Re:Nay, archetypal... (Score:5, Interesting)
His crypto work during the war was massively significant in winning the battle of the Atlantic, his ideas on programming, AI, neural networks, and the more-public "turing test" were breathtaking and groundbreaking. Less well known is his theory of non-linear biology, and some exceptional papers in physics. A modern version of the renaissance scientist, the michaelangelo of his day.
The hounding of him (because he was gay), arrest, loss of clearance, and subsequent suicide by cyanide in '54 was a shameful treatment of one of the most brilliant men in science this century.
Simon.
Re:Nay, archetypal... (Score:3, Funny)
Much as I hate to nitpick...
Re:Nay, archetypal... (Score:2)
Ok - revised: "in the last 100 years"...
ATB,
Simon
Re:Nay, archetypal... (Score:4, Interesting)
Interestingly enough, the Luftwaffe was very careful with its settings documents and its discipline for changing rotors. Bletchley Park never solved the Luftwaffe version of Enigma.
None of this should detract from Turing's greatness as a mathematician, but it appears that the British used his reputation to hide a few other facts. No need to alert your enemies to all of your methods, after all.
Re:Nay, archetypal... (Score:2)
After Cryptonomicon, everybody and their uncle know how it's done
Re:Nay, archetypal... (Score:4, Informative)
What a bunch of bullox! The following are excerpted from "The Ultra Secret" which was written by F. W. Winterbotham who worked closely with Allen Turing and the rest of his team at Bletchly Park throughout the war.
"Although the well-guarded Kriegsmarine messages could not be deciphered, BP was regularly eavesdropping on the Luftwaffe. The Luftwaffe was particularly negligent in applying appropriate safeguards to their Enigma-coded messages, perhaps due to a measure of arrogance evident in World War II "fly-boys." Through this source the British were able to piece together Hitler's plans for the cross-channel invasion, dubbed Seelowe (Sealion). Before it could be accomplished, the RAF would have to be neutralized. Warned beforehand of Luftwaffe bombing raids on airfields, designed to eliminate not only the fields themselves but also destroy RAF fighters on the ground, British planes were able to avoid being caught as sitting ducks. Although Ultra intelligence forewarned of impending attacks, coastal radar (underestimated by the Germans) was able to pinpoint flights of incoming enemy planes."
"The British were regularly reading Luftwaffe messages, Of particular interest were messages from the Fliegerverbindungoffiziere, or "Flivos", liaison officers responsible for coordinating air and ground operations The all important Kriegsmarine signals ("Dolphin") were still a mystery. U-33, on a mission to sow mines in the Firth of Clyde, was depth charged and forced to the surface on Feb 12, 1940 by minesweeper HMS Gleaner."
"One of the first relied on German operators using some easily remembered sequence of letters as rotor starting positions. There were identified as "Cillies", after one operator who frequently used "Cilly", his girlfriend's name."
Obviously you were misinformed about your chosen subject. The Kriegsmarine messages were the really tough ones to crack because they were disciplined about transmission lengths, randomized key rotor selections for each message, and distribution of code books which contained the key sequences that would be used in a particular month. By comparison the Luftwaffe operators used their girlfriend's initials as rotor settings and changed keys only infrequently.
Re:Nay, archetypal... (Score:3, Informative)
How about Turing's 1935 paper? (Score:5, Interesting)
"On computable numbers, with an application to the Entscheidungsproblem" [abelard.org]" is unarguably the paper that began the field of computer science as we understand it today. Here we have the first descriptions of universal computing devices, Turing machines, which eventually led to the idea of universal stored-program digital computers. The paper even seems to describe, in what is unarguably the first ever conceptual programming language, a form of continuation passing style [ic.ac.uk] in the form of the "skeleton tables" Turing used to abbreviate his Turing machine designs. It's also relatively easy reading compared to many other scientific papers I've seen.
Along with this we might also include Alonzo Church's 1941 paper "The Calculi of Lambda Abstraction" (which sadly does not appear to be anywhere online), where the lambda calculus, the basis for all functional programming languages, is first described.
The Calculi of Lambda CONVERSION (Score:4, Informative)
Papers or books ? (Score:4, Informative)
Then, you can use citeseer to see what's new and what's the fashion in the domain.
Anyway, one of the best papers (and oldest) I read give birth to a whole community:
http://cm.bell-labs.com/cm/ms/what/sh
Any members of ACM or IEEE Computer Soc? (Score:4, Informative)
Re:Any members of ACM or IEEE Computer Soc? (Score:5, Informative)
Re:Any members of ACM or IEEE Computer Soc? (Score:2)
Costs too much (Score:5, Interesting)
A recent short job assignment at HP let me run amok through the online libraries of both IEEE and ACM. It was interesting to see published articles from 5-10 years ago that directly covered topics that were the hot issues in the office today. Looking at the issues that were hot topics in the last few companies over the past 2 years, I saw the same pattern of scholarly articles being about 5-10 years ahead of the industry.
While working in medium to larger companies, I would find the number of people who did not even understand simple concepts of Computer Science frightening.
I am curious as to how much effort is wasted reinventing the wheel. I know a lot, because as a programmer on death march projects, I rarely have the hours to devote to finding how other people solved the same problem 5-30 years ago. That pointy haired boss breathing down my back thinks that any time not spent slaving over a hot keyboard is a waste of time. As the old saying: it is hard to remember the job is to drain the swamp when you are up to your armpits wrestling with gators. No amount of showing that spending a few hours sharpening the saw each week could save far more time that what appeared to be wasted. One past job allowed some time to be billed to research each week until some phb wandered by to bitch about it. It was the appearance of goofing off reading that made the boss look worse than the schedule slipping. And appearances appear to be more important in today's economy than actual results.
Re:Any members of ACM or IEEE Computer Soc? (Score:2)
If you're considering a career in R&D, you will be expected to keep your knowledge up to date by reading such journals. For a Ph.D, you *have* to conduct a literature survey, and demonstrate knowledge of relevant papers in your area of research.
Working in a software development environment, reading such papers will give you a idea of what new techology yo
Re:Any members of ACM or IEEE Computer Soc? (Score:3, Informative)
Classic papers (Score:5, Interesting)
http://cm.bell-labs.com/cm/cs/who/dmr/cacm.h
I list several more classics on my "Software Engineering Reading List" page at
http://www.multicians.org/thvv/swe-readings.h
Re:Classic papers (Score:3, Informative)
Plan 9 from Bell-Labs [bell-labs.com]
Somebody else mentioned Rob Pike already, pity you can't find any of his older (pre-Plan 9) papers online anymore: "The Hideous Name" and "Cat -v Considered Harmful":
R. Pike, P. Weinberger, "The Hideous Name" USENIX Summer 1985, pp 563-568.
and an abstract of the other: http://gaul.org/files/cat_-v_considered_harmful.ht ml
As for history repeating itself, let me
Edsger Wybe Dijkstra (Score:5, Insightful)
Re:Edsger Wybe Dijkstra (Score:4, Informative)
http://www.cs.utexas.edu/users/EWD/
Re:Edsger Wybe Dijkstra (Score:2)
Thanks!
GCH full text (Score:2, Informative)
You have to register to get most papers from ACM (the Association for Computing Machinery who published "GOTO considered harmful"). However, the full text can be found free in their classics series [acm.org].
Everybody should read this paper, then read Linus Torvalds et. al. discussing the matter on kernaltrap.org [kerneltrap.org]
ACM is part of the problem, not the solution (Score:3, Informative)
Massalin's PhD (Score:2)
There are so many good papers though. You just have to read them all :)
Don't read the originals (Score:5, Interesting)
We speak of the TAoCP as "the bible", but I'm not sure if there are any "new" ideas there; rather, the value of TAoCP is as a compilation and exposition of all the best ideas other people have produced.
Learn about great algorithms; don't worry about reading great papers.
Surveys (Score:2, Insightful)
Try browsing the ACM Surveys. I've read recently "A guided tour to approximate string matching". Quite good, and starting from there, I could get a good insight of the field.
Re:Don't read the originals (Score:5, Insightful)
Harlequin romance novels express the same ideas in much easier to read language.
I didn't first learn my Special Relativity from Einstein's original paper. I learned it from Bertrand Russell's The ABCs of Relativity, but you can be sure that I later went back and read a translation of the original paper as well (and even poked at the original a bit), as I've also read Bohr, Bohm, Feynman and Weinberg.
I've read The Blind Watchmaker and The Beak of the Finch. I've also read Darwin and Huxley.
I've read modern histories of the Roman Empire. I've also read Gibbon.
I've read C for Dummies. I've also read Kernighan & Ritchie.
No, it wasn't always easy. I didn't expect it to be easy, or even desirable for it to be easy, because I expected to learn.
Date is easier to read than Codd, but Codd is only hard until you understand the relational algebra. If you wish to be an expert in the field of databases understanding the relational algebra isn't really optional, no matter what your salary is.
I'm learing to read classical Greek so that I may read Euripides. I've read most of Shakespeare and I'm working on the rest. I've never read a Harliquin romance novel. Elizabeth Peters mysteries are pretty nifty though, if you're willing to read some good works on Egyptology to get the most out of them.
Your milage may vary, but I'll take the harder road and be better informed for it. You may settle for being a kind of craftsman/tradesman, I'm trying for scientist/artist and it puzzles me that most people in the computer field are functionally innumerate and desire that state of ignorance.
Are we not geeks?
No, I guess most of us are Devo.
I think that's a bit sad.
KFG
Re:Don't read the originals (Score:5, Insightful)
I.F. Stone Learned Greek for Socrates (Score:4, Informative)
An admirable exercise.
Journalist I.F. Stone, rather late in life, taught himself ancient Greek, in order to read the actual source documents relating to the trial and execution of Socrates [umkc.edu].
No translation would suffice: Stone felt that only by reading the original text for himself could he arrive at the insight he desired.
-kgj
Re:I.F. Stone Learned Greek for Socrates (Score:3, Interesting)
Precisely the point. The exercise is also teaching me a tremendous amount about written language in general and thus English, so the exercise is even currently relevant. My age isn't quite so advanced as Stone's, so I feel a bit free to take the slow road and examine the development of the Greek alphabet from the Phoenician along the way.
I find this particular bit from th
Good and Evil: Eternal Verities (Score:3, Interesting)
Exactly. The soul of man has not changed since the classical world.
Good, evil, right and wrong, kindness and cruelty, peace and war -- details may change, interpretations may change, certainly the technologies change
There is a terrible temptation -- especially in America, my home country, whose founders saw themselves as the spiritual succes
Re:Good and Evil: Eternal Verities (Score:3, Insightful)
Ecclesiastes 1:9
Re:Don't read the originals (Score:3, Interesting)
If the original is like this Codd you mention, where he makes a science out of something and other people distill it for popular reading, then yes, reading the original is likely to teach you something.
But if the original is scientific, as are all of the books that build upon it, you're not likely going to learn a lot more about the state of the art today. You'll learn what it was lik
Re:Don't read the originals (Score:4, Funny)
They also have romantic, swooning sex by page 70.
Are you listening, Don Knuth?
Re:Don't read the originals (Score:5, Interesting)
I guess I have to challenge this one too. Of course ideas are superceeded or improved upon. Understanding is refined as the field matures... But here is an argument why you should do exactly the opposite to what you suggest:
The historical development of ideas, from their first suggestion to their eventual refinement, represents a natural progression in human understanding and cognition. When you try to short-cut that cognitive development you are invariably left with weak, poorly formed ideas. Great old papers should be read so that you can gain insight into this development of ideas and it may help you understand things much better than before.
This claim is difficult to back up with any sort of scientific test. As some evidence, one field of education (physics education) specialises in short-cutting the historical development of ideas and as we in the field know, teaching physics is a spectacular failure (though some would deny it). As a personal piece of evidence (does not count for much, but I don't have any other evidence at hand), I can say I never really felt entirely comfortable with Schrodinger's equation and its probabilistic interpretation until I went back and read Schrodinger's and Born's original papers. That is when I realised that Schrodinger's wave equation describes a wave in configuration space. Also, his subsequent fights with Bohr, where he tried to defend a matter wave interpretation of the wave function, reveal much about the type of ontological misclassification which humans fall into. Now isn't that amazing? Schrodinger spent a lot of time trying to defend an ontological standpoint that the wave function represented a material wave even though he was the person who derived the wave equation and should have known better. Is it any wonder then that my students, who don't even really understand where the wave function and wave equation come from, think that the wave function represents a material wave? I would have had none of this insight without reading the original papers.
Re:Don't read the originals (Score:3, Insightful)
Yep, but the reason is different than most people think...
The papers lie unread because most 'computer scientists' aren't scientists, but "engineers" or at best a weird hybrid of the two. (Frankly I don't regard computer programmers as engineers but rather as artisans. The sucess of their efforts depends less on their tools and material as than as on their personal abilities.)
They aren't working on new discoveries, or delvi
Great Computer Science Papers & /. readers (Score:5, Interesting)
I've taught computer science. Specifically Software Engineering where there is about a 1" thick stack of around 15 papers that get the whole idea. Wonderful works like "Goto Considered Harmful" (Communications of the ACM, 11, p147-148, 1968) come to mind. But I don't think there's much hope the typical /.er will take the time and effort to read them better yet think about them.
In the last couple of weeks /. as a culture came up as a lunch conversation between my co-workers and I. We came to the conclusion that the wild herd doesn't pay for stuff (Kazaa, Morphious, etc), is ADD (how many times have you read a posting where the poster hadn't read the link?) and generally thinks that education is mostly worthless (the bi-annual do I need a degree grudge match). Given these behaviors, why go through the effort of making a list?
If I were working this space (putting my teaching hat back on) I'd cover:
Computer Architecture (where all things come from)
Theory of Computing including O() [& friends], analysis of algs, Turing, etc.
Software Engineering
Software Testing
Graphics
Databases
Numerical Methods
Simulation (& Statistics)
and
Systems Analysis (where apparently all books currently suck)
I think that would be the place to start and there would be more than 10 or 20 of them.
-- Multics
Re:Great Computer Science Papers & /. readers (Score:2)
Re:Great Computer Science Papers & /. readers (Score:5, Insightful)
We came to the conclusion that the wild herd [on Slashdot]... generally thinks that education is mostly worthless....
If I were working this space (putting my teaching hat back on) I'd cover:....
So put your money (time is money) where your mouth is.
Seriously. Email one of the Slashdot editors, get a section called "Slashdot Tells", and post your first lecture, along with assigned reading.
Let the
Come back the next week, post your answers and your next lecture, and let those who can demonstrate mastery of your earlier lecture and the assigned reading go through the cycle again.
I'll take part in whatever you care to teach, and I'd wager you'd get a core group who would follow the lecture series through.
Use a free e-text (such as the MIT open courseware), or some GFDL book, as your text.
What's in it for you? Well, teaching is the best way to learn (or re-learn). Keeps the mind supple. Not to mention the satisfaction of passing on what you know.
And telling your collegues you've learned to herd cats.
Re:Great Computer Science Papers & /. readers (Score:2)
You forgot to quote
We came to the conclusion that the wild herd doesn't pay for stuff
I'm not saying it's a bad idea (though that is a LOT of work on his part), but it sure is validating his observation about paying for stuff....
Re:Great Computer Science Papers & /. readers (Score:4, Interesting)
We came to the conclusion that the wild herd doesn't pay for stuff
Good point.
I suppose I could counter with "Doesn't he use any open source software? Think of the course as giving back for the kernel" or something, but that would be disingenuous.
But I do have an idea about payment.
Unfortunately, my idea won't put any money in his pocket. (No, it doesn't involve collecting underpants, either.)
It's more a pay it forward type idea: train people, and then send them forth to train others.
It's a good model for accelerating a meme, but perhaps too envangelistic for the Intellectual Property world.
I'd like to set up some form of co-operative education, where small and easily learned skills (not as complex as what our OP proposes to teach) are taught to small groups, with each learner undertaking to teach another small class to pay his "tuition".
I think there are some advantages to this model, not the least being that the best way to learn something -- to really learn it and make it part of yourself -- is to teach it.
There are some problems with it too, but I've got a sketch of some ideas to overcome of the obvious problems.
Of course, it's not a new idea: it's how cults have always spread. The question is, can it propel mundane learning as well as it propels sacred ideas.
But it's not really a payment scheme. It won't pay the grocery bill.
Maybe we should sell tickets?
Re:Great Computer Science Papers & /. readers (Score:3, Informative)
Let me quibble with you a bit.
There are no details to "give away". The knowledge isn't a secret.
I'm reminded of Robert Heinlein's book Starman Jones, where guilds, using Intellectual Property laws, had made all scientific and technical knowledge proprietary (much as guilds did in the Middle Ages).
Fortunately, in our world, we are moving away from that model. Scientific and technical knowledge is available to anyone with the te
Re:Great Computer Science Papers & /. readers (Score:2)
If nothing else, maybe it clarifies the source of underlying conflict.
(YHBT?)
Re: (Score:3, Insightful)
Re:Great Computer Science Papers & /. readers (Score:3, Interesting)
Re:Great Computer Science Papers & /. readers (Score:3, Insightful)
Which means you are in the wrong institution, not that the institution is at fault. But then getting into a institution where the curricula is hard, is of it's itself difficult.
Last I che
Re:Great Computer Science Papers & /. readers (Score:3, Insightful)
I know this is news to most people, but computer science is not about programming. If you want to learn how to program, how to develop large systems and databases ... study the commerce subject "Information Systems".
Computer science is about the science of computing. It is about understanding and advancing the state of computing through the advancement of computing theory.
The fact that practical application or emperical testing of the techniques requires computer science students to have rudimentary p
"since google has no answers".. (Score:2)
uh....right?.
Re:"since google has no answers".. (Score:2, Informative)
Does anyone know where to get... (Score:2)
Re:Does anyone know where to get... (Score:2, Informative)
Re:Does anyone know where to get... (Score:5, Informative)
Does anyone know of a website where you can get access to comp sci and comp eng papers and stuff?
Try looking at arxiv.org [arxiv.org] and CiteSeer [nec.com].
MIT Open Courseware (Score:4, Informative)
p.s. - Check out the link [nasa.gov] in my earlier post
Euclid's Elements of programming languages... (Score:5, Informative)
For a refreshing analysis of the paper by Lisp guru Paul Graham (the same guy who proposed the idea of Bayesian anti-spam filtering), see The Roots of Lisp [paulgraham.com].
Old Research and Patents - A True and Recent Story (Score:5, Insightful)
A lot of old research is interesting in terms of Patent law. A lot of this research can be used to invalidate patent cliaims - prior art. An idea published 30 years ago simply cannot be legitimately patented now.
Very recently my Dad told me about a new patent assigned to one of his competitors. But my Dad claimed that his colleauge didn't patent that very idea in the 1970s because my dad knew of prior art - my dad had heard a researcher from Germany talk about the same thing at a small conference.
Given prior art, my Dad and his colleauge didn't apply for patent back then. But 35 years later, a company patented the idea. My Dad was pretty pissed!
So Dad and I shlogged through tons of (paper) documents and LoC and other resources trying to help him remember who the speaker was and where the conference was held. After a few weeks of digging, we got a copy of the (hard to locate) conference proceedings, and now that brand new patent looks like it's toast.
Now here's the rub - the only reason why this patent was invalidated was because my dad is still in the industry - and he's well over retirement age. Everyone else my Dad works with thought the patent would toast them. Only my dad, and old researcher with a good memory, could help his company overcome the (invalid) patent. What if my dad was retired? What if he didn't attend that talk in the 1970s? Most people simply wouldn't have known where to look for the prior art. [And not every call for prior art is suitable for Slashdot.]
Old research and old researchers are good - not only for disposing of "new" patents, but for the value of the efforts and lessons learned. So much is forgotten.
Re:Old Research and Patents - A True and Recent St (Score:2, Insightful)
Re:Old Research and Patents - A True and Recent St (Score:2)
Re:Old Research and Patents - A True and Recent St (Score:2)
Re:Old Research and Patents - A True and Recent St (Score:2, Informative)
I hate to burst your bubble after all the effort that you went through, but ... From your description, your Dad's company is nowhere near out of the woods yet.
In order to invalidate a patent, the prior art must no only describe an invention, but also be "enabling" in it's description (either standing alone or in combination with other prior art). Most conference
Re:Old Research and Patents - A True and Recent St (Score:3, Informative)
Re:Old Research and Patents - A True and Recent St (Score:3, Interesting)
Not exactly computer science... (Score:5, Informative)
E.W. Dijkstra Archives (Score:4, Informative)
Quantum Computation (Score:3, Informative)
You want the Technomanifestos! (Score:5, Interesting)
Technomanifestos discusses the truly thought-provoking, inspirational, seminal computer papers of the 20th century [technomanifestos.net], from Turing's "On Computable Numbers" and "Computing Machinery and Intelligence", to Alan Kay's "Personal Dynamic Media" to Larry Wall's States of the Perl Onion.
The book delves into the historical, biographical, and scientific context of works such as these and follows the thread of inspiration to today's world. If you want to know where the Internet germinated, or how Marshall McLuhan and Pierre de Chardin influenced the World Wide Web (or even who McLuhan and de Chardin are!) you should pick up my book. And then read it.
Technomanifestos tracks the evolution of the MIT hacker, from the dapper Boston Brahmin Vannevar Bush to the famously unkempt Richard Stallman, and introduces the cast of lesser-known (to the non-Slashdot world) but crucially inventive individuals such as Ivan Sutherland and Seymour Papert.
Moreover, it discusses how the truly great computing ideas come from people who recognize that technology, especially information technology, has the power to transform people and society--these are (in the words of similarly great books) tools for thought [amazon.com] and dream machines [amazon.com].
Or if you have no interest in helping me pay my DSL bill, you can go straight to the sources [technomanifestos.net], many of which are available online.
Citeseer (Score:3, Informative)
ACM Classics of the Month (Score:5, Informative)
The remaining ACM Classics of the Month are here [acm.org].
I think Alan Kay would agree (Score:4, Insightful)
Information Theory was certainly not in CS when it was orginally written in the 1940s..instead it was in Telcommunications and Mathematics
Basically the areas you shoudl be looking at are:
Logic
Philosphy
Mathematics
Physics
Bilogy
For example the concept of meta data.. ie data that has diferent menains based on context is common in all these areas and has direct applicatiosn to CS! Some of the current concepts of Semantic web are from this area and started in Language studies..:)
Rmember the old adage of the crusty old CS professor that CS is multidisplinary still applies!
Fred Grott
ShareMeTechnologies-The Mobile Future
http://www.jroller.com/page/shareme/Weblo
#11: Thou shalt not covet thy neighbor's tagline.
Ah yes, Claude E. Shannon's paper (Score:3, Informative)
Shannon's 1948 paper, "A Mathematical Theory of Communication [bell-labs.com]", the seminal work on information theory and coding.
UNIX paper (Score:2)
Stalking the Wily Hacker, and a Question (Score:2)
That being said, here's a question: has anyone published an anthology of classic CS papers? I'd love to have in one volume examples of the classic work by Von Neumann, Turing, Ritchie, and the rest of the gang. Has such an anthology been published? If so, I'd buy one in a heartbeat.
Classic paper on security (Score:3, Informative)
Some seminal works in the evolution of TCP/IP (Score:3, Informative)
Donald E. Knuth (Score:5, Interesting)
Donald Knuth has written a lot of interesting papers, but his paper on TeXs line-breaking algoritm
and as far as I know, the algoritm is still state of the art and is used only by TeX, InDesign and an addition to QuarkXPress.
Some suggestions (Score:3, Informative)
some pointers... (Score:2)
You can also do some digital archaeology: a lot of decades-old ideas are embodied in software you can download. You can get copies of MIT's ITS, TENEX, Smallta
FYI - try CiteSeer instead of Google (Score:5, Informative)
The URL : [nec.com]
http://citeseer.nj.nec.com/cs
That said, I often find very interesting ideas in scientific papers, but sometimes things can't be implemented with current technology (I'm still talking about computer science domain, since that's what I know), or sometimes, the good idea in the paper is obsoleted a few years later.
For instance, I remember a scheduling algorithm to read disk blocks in a Video-On-Demand server : it was maybe very clever when it was written, when they had to feed 155 Mbps with a computer having 16 MB of RAM, but today, you have maybe 10 times more throughput, but 100 times more RAM - so you can use simpler, memory-hungry, buffering methods.
The problem is, that it's difficult (IMHO) to say "OK, this paper is theoretically interesting, but we can't implement this today, BUT we will probably be able to do it in a few (dozen) years", because you don't know what will and won't evolve (in my previous example, it was easy to predict that network bandwidth and memory size would increase, but it was maybe harder to guess that MPEG4 and DivX would allow the bitrate of a video stream to stay low...)
The patent reads like a research paper... (Score:2)
Networked Computer Science Technical Reference Lib (Score:3, Informative)
- Hubert
Here are some that come to mind... (Score:5, Informative)
Vannevar Bush. As We May Think [vub.ac.be]. Atlantic Monthly, July, 1945.
This paper put forth the very first ideas about how people can mechanically search for information. While we don't have desks with levers on them, we do have Google.
Tim Berners Lee. Information Management: A Proposal [w3.org]. 1989.
This paper is where Tim Berners Lee proposes what we now know as the world wide web. It's an interesting read if you'd like to see what the original intent of the web was so that you can compare it to what we have today.
A place to look for good old computer science papers is in older issues of Communications of the ACM. There are lots of articles in plain English that you may find of interest. If you are a university student, your school may have a subscription to the ACM Digital Library. If they do, you can read all the issues back to 1958.
Also, you can find a lot of interesting CS publications at Citeseer [nec.com]. They have a page with the top 200 most accessed papers of all times [nec.com]. When I skimmed through it, I saw quite a few titles that may be of interest.
Re:Here are some that come to mind... (Score:2)
Great Papers (Score:2)
NASA Technical Report Server (Score:2)
Most cited papers? (Score:2)
Dave Parnas (Score:2)
A number of his papers have been collected into a bo
origin of public-key cryptography (Score:4, Informative)
The Invention of OOP in Sutherland's Dissertation (Score:4, Informative)
In the section titled GENERIC STRUCTURE, HIERARCHIES , Sutherland describes how he restructured SKETCHPAD in what we would immediately recognize as an OO manner:
Later in the section DEMONSTRATIVE LANGUAGE we see what we might call today the association of classes with methods as Sutherland notes:
Re:The Invention of OOP in Sutherland's Dissertati (Score:3, Informative)
Inheritance is certainly not some intrinsic OO concept. It's actually a special case of delegation, where the object just shuffles unknown messages around. Hewitt's Actors and derived languages use this paradigm. See MIT AI Memo 410, Viewing Control Structures as Patterns of Passing Mess
Papers for Human-Computer Interaction (Score:4, Insightful)
So what is the basic idea? That computers should not be constrained to the physical desktop, but should become an everyday and seamless part of our lives. And in this paper, Weiser and his team at Xerox PARC introduced location-based computing; devices of all form factors, from small PDAs to tablet PCs to electronic whiteboards; sensors for integrating the physical and virtual worlds; wireless networking to make it all connected no matter where you were (in their office building anyway). Weiser's vision is so influential, that there are now (literally) thousands of researchers working on what he called ubiquitous computing, as well as several research conferences devoted to this theme, not to mention the direction that the commercial world has already taken with PDAs, WiFi, sensor networks, and so on.
Djikstra (Score:3, Informative)
It talks about software quality and testing -- which seem very applicable, if not entirely in sync with, recent ideas about agile programming, test-driven-development, etc.
Doug Engelbart's NLS System (Score:3, Informative)
For instance, he has the very first mouse, a word processor with cut, copy, paste, embedded graphics (remember how cool OLE seemed to be?), hyper-linking (remember how cool hypercard seemed to be?), embedded levels of text (kind of like looking at a hyper-linked table of contents in a book), multi-handed interface, a piece of groupware that allows him and a distant co-worker to work together in the same application (think collaborative real-time modification of the same document -- something we still don't really have), telepointers (graphical representation of other people's mouse pointers), embedded video (think webcam), and the list goes on and on and on.
When you think about the fact that this was done in the 1960's, you really begin to wonder, "what the hell have we been doing since then!?"
Rob Pike is worth a read (Score:3, Informative)
be sure to catch "Systems Software Research is Irrelevant"
You will probably see a lot worse links than
Bell Labs [bell-labs.com] - formerly known as heaven.
Something a little more concrete (Score:3, Insightful)
One of the problems with looking for original papers on CS is that the earliest were intensively focused on mathematical notation-- from the 1930's! For example, famous mathematician Church is accreddited with the definition of the lambda calculus denoting functions, which classes about programming languages use heavily. During such a class, our professor introduced us to a few papers, "Definitional Interpreters for Higher-Order Programming Languages" by John Reynolds. The paper was originally published in 1972, so I'm not sure how he got ahold of it. But it's a great survey of the topic. If you're really interested in a specific topic, the easiest way, I find, to find foundational papers is to find a textbook on the topic with a thick bibliography. Then just try to trace out the citation geneology to an appropriate root. Eventually you'll work your way from something like "Designing autonomous robots to work independently in cellular networks" to something like "cooperative robotics." In this quest, Cite Seer can be a great tool. But it makes a poor starting place, as you mentioned.
Great Papers in Computer Science (Score:4, Informative)
Great Papers in Computer Science:
http://bit.csc.lsu.edu/~chen/GreatPapers.html [lsu.edu]
I kept trying to put the TOC from the site in this comment, but Slashdot kept saying that the line length was too short. Since it was just plain text, I do not understand what was going on with that. So sorry, but the link really is worth checking out. Good reading!
Good CS Reading List (Score:3, Informative)
Re:I think you'll find... (Score:2)
Re:Authors are dying. (Score:3, Interesting)
Re:Why should I? (Score:2)
Re:Why should I? (Score:3, Informative)
(those who feel left out should immediately report to me or the nearest AC; they will be duly noted in the next edition of this post)