Slashdot Mirror


Great Computer Science Papers?

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?"

89 of 410 comments (clear)

  1. Nay, archetypal... by Empiric · · Score: 4, Interesting

    For "great and seminal" it's hard to beat Alan Turing's 1950 (!) paper on AI.

    --
    ~ Whence do you come, slayer of men, or where are you going, conqueror of space?
    1. Re:Nay, archetypal... by Space+cowboy · · Score: 5, Interesting

      Alan Turing was a genius, pure and simple.

      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.

      --
      Physicists get Hadrons!
    2. Re:Nay, archetypal... by Anonymous Coward · · Score: 3, Funny

      > one of the most brilliant men in science this century.

      Much as I hate to nitpick... :p

    3. Re:Nay, archetypal... by crawling_chaos · · Score: 3, Interesting
      While Turing's contributions to breaking Enigma were valuable, as the years slide on we find that his contributions may have been overstated to cover up other covert operations. Try reading Seizing the Enigma by David Kahn (of Codebreakers fame). It appears that the Enigma was also solved by some covert ops that seized monthly settings documents from Nazi weather ships and surrendered U-boats. For most of the war, hints like these were needed to get anything resembling real time Ultra, even with the bombes cranking away at full speed.

      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.

      --
      You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
      -- Colonel Adolphus Busch
    4. Re:Nay, archetypal... by Gldm · · Score: 2, Informative

      Gee I dunno, maybe the fact that he was put on trial for homosexuality, found guilty, and forced to take hormone treatments instead of a prision sentence? Simple google search on his hame would bring up plenty of evidence, or you could try looking for a biography in your local library. From what I've read he was quite open about it, which is why the trial came about in 1952 or so.

      --

      Introducing the new Occam Fusion! Now with sqrt(-1) fewer blades!

    5. Re:Nay, archetypal... by unclealbert_2035 · · Score: 2
      Warning, some of my entries are slightly OT...but all pertain. You don't need to be purely scientific to be academic in nature or purpose.

      In terms of pure science and academa, a few have been reasonably covered here already. A few from my personal library:

      Anything from Donald Knuth

      Andrew Tannenbaum and most of his publications

      The greatest fundamental contributor to all great science, however, is inspiration. WRT/scientific inspiration, a few loom large in my mind...

      Most things from:Marvin Minsky (Negative Expertise was at one point groundbreaking for me)

      Richard Feynman holds a place in my personal history

      Douglas R. Hofstadter and his writting, Godel, Escher, Bach

      Roger Penrose and his writting, The Emperors New Mind

      Carl Sagan, especially his work in The Demon-Haunted World. I read this in more recent years, and found myself launched into a new understanding and exploration of the nature of science and humanity.

      ...and pick any of the large number of scifi authors, of course.

      UA

    6. Re:Nay, archetypal... by CodeBuster · · Score: 4, Informative

      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.

      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.

    7. Re:Nay, archetypal... by DrEspenA · · Score: 2, Informative

      The Bletchley Park (HQ for UK cryptintelligence work during WWII) operation and assorted activities to capture and feed information to it involved thousands of people (I think I have seen numbers of 5000 for the HQ operations alone). Turing was extremely important in this work, especially in the earlier part of the war. However, many others contributed - for instance, it was Polish intelligence that broke the first versions of the Enigma cipher machine, even before WWII started.

      --
      Espen
  2. Papers or books ? by Anonymous Coward · · Score: 4, Informative

    Often, when you're new to a given domain, there exists a book (on citeseer too...) that covers the domain and express, often better than the original authors, the main ideas.
    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/sha nnonday/pape r.html

  3. Any members of ACM or IEEE Computer Soc? by G4from128k · · Score: 3, Informative

    I wonder how many IT gurus are members of ACM or IEEE Computer Society? The % of /. members who are in ACM must be very small because ACM only has 75,000 members in total.

    --
    Two wrongs don't make a right, but three lefts do.
    1. Re:Any members of ACM or IEEE Computer Soc? by mscheid · · Score: 5, Informative

      ACM and IEEE are just the places I would look for such papers. The proceedings of ACM SIGCOMM for example are a very good "filter" for the flood of papers on networking.

    2. Re:Any members of ACM or IEEE Computer Soc? by dfung · · Score: 2, Informative

      I've been an intermittent ACM member over the years, and I think it can be very beneficial depending on how you want to use the membership. You get the general journal (Communications of the ACM) which has articles of broad interest across the entire scope of computing. That's the nice way to put it - what it often means is that, even as an accomplished professional in your field, you won't have the slightest idea about what 80% of the articles are about. The CACM often has "theme" issues which are a lot more interesting generally, since the articles are more tutorial.

      You will get a much bigger bang from the special interest groups. Sign up for the ones that are your field of specialty or interest, and you'll get a more focused journal that will show you the leading edge issues of the field, as well as giving you visibility into who some of the academic and corporate players are. Most of the SIGs are relatively small, so the journal may only be quarterly and not a fancy production. Some of the big ones - SIGGraph for graphics or SIGChi for human interaction are big fancy productions and can be very engaging.

      For most people, there will also be local chapters who have occasional meetings. I live in the Silicon Valley, so you can network with a lot of interesting people and see what different companies and universities are up to. I found this very interesting, and (for /.ers) entertaining when the discussion turned to ripping somebody else's work.

      I used to do a lot of work in computer graphics and found that SIGGraph was really useful to me in terms of keeping abreast of what was new. I've largely switched into a different area over the past years (embedded systems mostly) and found that I haven't had time to keep up with the graphics world, so I let my membership lapse. I guess I should join the IEEE which has a lot of the same material in my current area.

      If you're out of academia, the need to be up to date on the latest battles in your field may be unnecessary, but if you dig this stuff, this is an excellent way to get engaged.

    3. Re:Any members of ACM or IEEE Computer Soc? by rpg25 · · Score: 2, Interesting

      I quit ACM because the only benefit it offered me was the Communications of the ACM. I'm sorry to say it, but the CACM is mostly terrible (as opposed to IEEE Spectrum, which is mostly ok). The CACM has a really bad identity crisis between being for academics and being for practitioners. IMNSHO, it picks a middle ground that makes it of interest to no one.

      I remember what put me over the edge to resigning my membership was this horrible article about the Yin and Yang of Computer Science. That was so bad that I had to check to make sure it wasn't an April Fool's joke. The last thing I need is my professional association publishing Newage (to rhyme with "sewage") twaddle. I mean, what's next, analyzing software by its Zodiac sign?

  4. Classic papers by thvv · · Score: 5, Interesting

    "The UNIX Time-Sharing System," by Dennis Ritchie & Ken Thompson, is one of the best-written papers ever. The elegance of thought and economy of description set a standard we should all aspire to.
    http://cm.bell-labs.com/cm/cs/who/dmr/cacm.ht ml

    I list several more classics on my "Software Engineering Reading List" page at
    http://www.multicians.org/thvv/swe-readings.ht ml

    1. Re:Classic papers by F2F · · Score: 2, Informative

      Later surpassed by "Plan 9 from Bell-Labs", which distills the ideas from UNIX and improves in many areas it lacked:

      Plan 9 from Bell-Labs

      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 quote Ron Minnich:

      You want to make your way in the CS field? Simple. Calculate rough time of amnesia (hell, 10 years is plenty, probably 10 months is plenty), go to the dusty archives, dig out something fun, and go for it. It's worked for many people, and it can work for you.

  5. Edsger Wybe Dijkstra by marsbarboy · · Score: 5, Insightful

    What about the work of Edsger Dijkstra? His seminal work on 'The GOTO statement considered harmful', the Shortest Path Algorithm, and the dining philosophers.

    --
    The truth is rarely pure and never simple. Oscar Wilde (1854 - 1900)
    1. Re:Edsger Wybe Dijkstra by junklight · · Score: 3, Informative

      Dijkstra's archive is on line and is indeed fascinating from both an historical point of view and full of ideas as well. Check it out...

      http://www.cs.utexas.edu/users/EWD/

  6. Don't read the originals by cperciva · · Score: 5, Interesting

    If nobody reads those "great old papers" any more, there's probably a reason. Sometimes the ideas have been superceeded; sometimes they weren't any good to begin with; often the papers are simply really hard to understand. The fact that people seriously suggest reading "great papers" reflects on the immaturity of the field; in a field like mathematics, hardly anyone ever reads the original papers (even for work done in the 20th century), instead opting to read someone else's simplification/clarification of the ideas.

    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.

    1. Re:Don't read the originals by kfg · · Score: 5, Insightful

      People don't read those great old papers anymore in the same way they don't read Euripides or Shakespeare anymore. They're difficult.

      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

    2. Re:Don't read the originals by seafortn · · Score: 5, Insightful

      All I have to say, brother, is Amen! Anti-Intellectualism is the "cool" thing in too many fields today, and I think it'll eventually lead to a re-stangation of society, technology, and science - at least in America, where we'll be content to be a third-rate country so long as we can still buy McDonalds.

    3. Re:Don't read the originals by Frodo2002 · · Score: 4, 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.

    4. Re:Don't read the originals by Sage+Gaspar · · Score: 2, Insightful

      Well, I'm going to have to agree and disagree.

      While it is a lot easier to read the current statement of theorems and their condensed, concise proofs, it's very educational to go back and read the original proofs.

      I've just begun my foray into mathematical research, and a lot of times you'll get a result that makes absolute sense if you look at the thought process behind it and the steps leading up to it, but that all gets cut out in the end in favor of a more minimalist paper (and rightly so). However, that extra background information is what gives you the understanding that you need to be able to work in that field or on similar problems yourself, and answers the age-old question, "How the hell would anyone ever come up with this?"

      I think a lot of the reason why people believe that they can't "do math" right now is because the great results as presented in textbooks seem to have popped out of nowhere, when in actuality they were mostly logical extensions of the work that was going on in the day.

    5. Re:Don't read the originals by WNight · · Score: 2, Interesting

      Sometimes what you say is true, that there are insights in the originals that have been lost. Other times they're just old.

      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 like then, but nothing will really have been lost and indeed, any of the old mistakes are likely to be corrected.

      Scientific works are expected to make sense at every step. It's not like the game of telephone the bible went through - where you need to go back to an original to find out what they meant by unicorns. Further, science usually gets expanded at each step, where the literature gets translated, inevitably losing something, but doesn't get anything except new notes.

      So for literature, you need to go back to the originals at every step, and for scientific works, assuming their assumptions proved to be true, you can usually build on the previous generation.

      Not that going back to basics is bad, it provides a reality check, but it's not as necessary.

    6. Re:Don't read the originals by K-Man · · Score: 3, Funny

      Harlequin romance novels express the same ideas in much easier to read language.

      They also have romantic, swooning sex by page 70.

      Are you listening, Don Knuth?

      --
      ---- "If we have to go on with these damned quantum jumps, then I'm sorry that I ever got involved" - Erwin Schrodinger
    7. Re:Don't read the originals by DerekLyons · · Score: 2, Insightful
      If nobody reads those "great old papers" any more, there's probably a reason.
      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 delving into the foundations of the art, or much in the way of basic research at all. Instead they are mostly working on applied research, trying to build a better x for specific application y. Furthermore, unlike most scientific curricula, they concentrate on teaching the current state of the art, rather than working from the foundations up. Again, a characteristic of engineering rather than science, and a symptom of the "if it's working, it's obsolete" paradigm that pervades computing.
      Learn about great algorithms; don't worry about reading great papers.
      Reading the great papers leads to understanding, regardless of the field. Working from cookbooks leads to comfort. One is the hallmark of the great, the other the comfortable.
  7. Great Computer Science Papers & /. readers by Multics · · Score: 4, Interesting
    I ponder if we made a list of oh say 'n' of these if the typical /.er would read them.

    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

    1. Re:Great Computer Science Papers & /. readers by orthogonal · · Score: 5, Insightful

      I ponder if we made a list of oh say 'n' of these if the typical /.er would read them....
      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 /. "wild herd" post questions and comments, and let them moderate up the ten or fifteen most important questions for your perusal.

      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.

    2. Re:Great Computer Science Papers & /. readers by orthogonal · · Score: 3, Interesting

      You forgot to quote

      We came to the conclusion that the wild herd doesn't pay for stuff ...and then proceed to suggest that he offer what is basically a college CS course for free.


      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?

    3. Re:Great Computer Science Papers & /. readers by Simon+Lyngshede · · Score: 2, Insightful

      In the field of Software Engineering one article you should read the Fredrick P. Brooks "No Silver Bullet". It is an old article, but has not been forgotten. What Brooks wrote in 1987 is equally true today, perhaps even more so. The truly greate articles are never forgotten, but some greate ideas is not understood until later and does articles can be hard to find, because nobody ever heard of them.

    4. Re:Great Computer Science Papers & /. readers by CAIMLAS · · Score: 2, Interesting

      You sir, are ignorant to assume that degree == (education || learning). A degree is a piece of paper from an institution that indicates that you are not a complete bafoon, and that you are employable. Nothing more. I've considered the validity of my desire to finish school every semester - and before that, every year of high school. However, do I hold education in low regard? No. Quite the contrary - to the extent that I have been continually lauded by teachers, peers, professors, and others for my knowledge, insight, and whatever else they seem deemable of esteem.

      My gripe with the education system - and particularly higher institutions of learning, which should know better - is that they dumb the stuff down for the least common denominator, can't think of an interesting way to teach it for the life of them, and for the most part, hardly know the subject themselves (at least in an applicable manner). The most underlying problem, though, is that most teachers (or professors) are not students themselves: learning, curiosity, and problem solving aren't terribly interesting to them anymore.

      I've run into CS professors that couldn't program. I've run into (an almost-tenured) English professor that wouldn't know good writing if it ripped their face off, let alone proper grammar. I've run into people with masters in communication that have no knowledge of the history of various industries, let alone modern methods used. The list goes on, but I need to stop before I get too frustrated.

      Who gets the blame? The professors, surely, for not being adept. But the institution that hired them, as well, for hiring retards. The schools that gave these people their degrees and doctorates in the first place, as well. How about their secondary schooling? That's at fault as well, for not teaching them (at least) how to think critically (deductive logic) and learn on their own. I'd partially blame the plethora of students that tend to go to 4-year schools for education nowadays: it's turned your average university into simply a festering wound for these magots to crawl around in, get drunk, etc. - as opposed to an institution of higher learning that has prestigous requirements, schools their students well, and turns out a very high percentage of leaders. The excess of required programs that students are required to take are utter garbage, things that should have been learned in high school (first and second year english spring to mind).

      Needless to say, you've stepped on a very sore foot. I don't contest the things you've said about the list of things to go on "the list", as they seem fairly on target to me. It was simply that one statement that set me aflame.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    5. Re:Great Computer Science Papers & /. readers by orthogonal · · Score: 2, Informative
      don't expect him to give away the details that you would expect in a CS class

      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 tenacity and aptitude to learn it.

      Certainly, all the knowledge to be learned in an introductory Computer Science course is available -- free -- on the web. For other disciplines, there's still the cost of $100 textbooks -- but more and more free alternatives are becoming available. And that's not even mentioning all the free and open software (even a whole OS!) out there to use as examples.

      What's lacking is not the knowledge, or the software; what's lacking are tutors able to explain the tough bits, smooth the rough bits, and challenge their students to make the knowledge their own. Somebody to demonstrate adding a node to a linked list to the puzzled; someone to review the basic math for those of us (like me) who got a bit intimidated by Big O notation. that's the next problem, and the problem I want to address.

      But the knowledge is a click away -- and no Sphinx is guarding any "secrets".
    6. Re:Great Computer Science Papers & /. readers by Hast · · Score: 2, Insightful
      Email one of the Slashdot editors, get a section called "Slashdot Tells", and post your first lecture, along with assigned reading.

      Let the /. "wild herd" post questions and comments, and let them moderate up the ten or fifteen most important questions for your perusal.

      In case anyone is interested in doing stuff like this I'd recommend using Kuro5hin as a testbed. There's a lot of good introductionary texts there on a variaty of subjects. And their article system makes it easy to put stuff up for critique and feedback.

      I'd recommend anyone who's interested in doing a project like this to check it out. (And once it's done you can always put it on Slashdot or other sites as well. I've seen some cases of that.)
    7. Re:Great Computer Science Papers & /. readers by DerekLyons · · Score: 2, Insightful
      You Sir represent *exactly* the attitude the original poster was decrying.
      My gripe with the education system - and particularly higher institutions of learning, which should know better - is that they dumb the stuff down for the least common denominator,
      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.
      can't think of an interesting way to teach it for the life of them
      Last I checked, education and entertainment are entirely different fields. Some things can be made interesting and or easy, other things cannot. Being unable to learn because something is not 'interesting' is the fault of the student, not the teacher. (Or more accurately it's the fault of a student raised on the fallacy that everything must be interesting to coincide with their dreadfully short attention spans.)
      I've run into CS professors that couldn't program.
      If that surprises you, it's more likely because you confuse the overall field with it's subset.

      But of course at your age, you know far better than those with greater experience.
    8. Re:Great Computer Science Papers & /. readers by Tablizer · · Score: 2, Insightful

      Wonderful works like "Goto Considered Harmful" (Communications of the ACM, 11, p147-148, 1968) come to mind.

      That paper is mostly an opinion, not cut-and-dry math. The main reasons most prefer nested blocks over goto's is that:

      1. They are more consistent across developers than goto's.

      2. The visual "shape" of the code resembles the nesting, whereas goto's provide little or no visual clues.

      In other words, it is more a psychological issue than a mathematical one. But, the paper is worded like a math paper.

    9. Re:Great Computer Science Papers & /. readers by Twylite · · Score: 2, 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 programming skills in no way qualifies them to actually develop software.

      Fortunately most "computer science" degrees are only half focused on the science aspect, and draw in a lot of what they call "engineering": how to use the theory to build a system. This is largely a reaction by universities to the public perception that computer science is about programming.

      A select group of institutions recognise that software engineering deals very little with building the system, and mostly with the management of the process to ensure that a quality product is delivered on time and on budget.

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  8. Euclid's Elements of programming languages... by acidblood · · Score: 4, Informative

    McCarthy's paper on Lisp: Recursive Functions of Symbolic Expressions and Their Computation by Machine (Part I).

    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.

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

  9. Old Research and Patents - A True and Recent Story by ljavelin · · Score: 5, Insightful

    You betcha. There has been a lot of research over the past 50 years, and much of it ignored - especially research that isn't in English.

    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.

  10. Re:Does anyone know where to get... by Dr_Java · · Score: 2, Informative

    Try http://citeseer.org/ Helped me out with many CS papers whilst writing up my thesis.

  11. Not exactly computer science... by acidblood · · Score: 4, Informative

    ...but Claude E. Shannon's paper, A Mathematical Theory of Communication has changed our outlook on information and communication. The importance of this paper on modern communication cannot be stressed enough, and it is very readable. If I had 10 papers to take to a desert island, surely this one would be on my list (:

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

  12. E.W. Dijkstra Archives by acidblood · · Score: 3, Informative

    This has been reported in Slashdot a while ago, but it deserves another mention: the manuscripts of Edsger W. Dijkstra. There are more than a thousand documents written by Dijkstra in this archive, and very interesting ones too -- careful or you'll lose days browsing it like I did.

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

  13. Quantum Computation by acidblood · · Score: 2, Informative

    While not exactly classic papers, some of these may be regarded as classic by our grandchildren when the time comes, since they're at the forefront of computer science's research today. A good introduction to quantum computing was recently linked in a Slashdot story posting: The Centre for Quantum Computation's Tutorials. Very, very interesting reading, if a bit advanced.

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

  14. You want the Technomanifestos! by A.+Brate · · Score: 5, Interesting

    This is shameless self-promotion, but you should read my book!

    Technomanifestos discusses the truly thought-provoking, inspirational, seminal computer papers of the 20th century, 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 and dream machines.

    Or if you have no interest in helping me pay my DSL bill, you can go straight to the sources, many of which are available online.

    --
    author,
  15. Citeseer by p-p-pom · · Score: 3, Informative

    Citeseer was cited in the blurb, but a really nice service that they provide is the Computer Science Directory. There you can look for papers sorted by domain, and ranked by several criteria like "authority". The top papers are usually a good read if you are interested in a particular domain.

  16. Re:Does anyone know where to get... by hweimer · · 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 and CiteSeer.

    --
    OS Reviews: Free and Open Source Software
  17. Surveys by davi_slashdot · · Score: 2, Insightful

    Some of the most interesting papers are actually surveys. From there will get the overview, often in a easy to read text, and pointers to the seminal papers. You also will know which are the relevant publications.
    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.

  18. ACM Classics of the Month by acidblood · · Score: 4, Informative

    Though it has very few entries, and is no longer updated, there are at least two papers in that list that the typical Slashdotter may have heard about: Go To Statement Considered Harmful, by Dijkstra, and Reflections on Trusting Trust, by Ken Thompson.

    The remaining ACM Classics of the Month are here.

    --

    Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

  19. I think Alan Kay would agree by linuxislandsucks · · Score: 3, Insightful

    I think Alan Kay would agree that not all CS papers of a worthy read are in CS..

    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
    Chemistry

    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/Weblog
    #11: Thou shalt not covet thy neighbor's tagline.

    --
    Don't Tread on OpenSource
  20. Re:Authors are dying. by bj8rn · · Score: 2, Interesting
    There's another way of looking at this. In every sphere of culture (including science), there's a constant variation between explosive (revolutionary) and stable (evolutionary) development. In the phase of stable development, the ideas that came before are used, everything seems to be more anonymous; numerous writers and scientists may be known in their own circle, but forgotten quite soon. In the phase of explosion, revolutionary ideas are born and the Author, the genius is more important. So, the Author may be dying because there are no new ideas, but (s)he will rise again one day.

    (ideas borrowed from Thomas Kuhn and Yuri Lotman)

    --
    Hell is not other people; it is yourself. - Ludwig Wittgenstein
  21. Classic paper on security by brentlaminack · · Score: 2, Informative

    Reference: Jerome H. Saltzer, and Michael D. Schroeder. The Protection of Information in Computer Systems. (invited tutorial paper) Proceedings of the IEEE 63, 9 (September 1975) pages 1278-1308. Reprinted in David D. Clark and David D. Redell, editors. Protection of Information in Computer Systems. IEEE 1975 CompCon tutorial. IEEE # 75CH1050-4. Also reprinted in Rein Turn, editor. Advances in Computer System Security. ArTech House, Dedham, MA, 1981, pages 105-135. ISBN 0-89006-096-7 Also reprinted in Marvin S. Levin, Steven B. Lipner, and Paul A. Karger. Protecting Data & Information: A Workshop in Computer & Data Security. Digital Equipment Corporation, 1982. This paper was originally prepared off-line. In 1997, Norman Hardy kindly rendered it into World-Wide Web form. here

  22. Some seminal works in the evolution of TCP/IP by jazzbotley · · Score: 3, Informative
    Here are three. Not the top three, not the only three, but definitely an important three. Maybe someone else will have better luck tracking down a link to Mogul's paper.
  23. Donald E. Knuth by roffe · · Score: 5, Interesting

    Donald Knuth has written a lot of interesting papers, but his paper on TeXs line-breaking algoritm

    • Defines the state of the art in digital typesetting
    • Is a textbook example of how a scientific paper should be written: it outlines the history of the problem, gives historical and current examples, defines the problem statement and discusses the suggested solution.

    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.

    --
    -- Rolf Lindgren, cand.psychol
  24. Some suggestions by offpath3 · · Score: 2, Informative

    If you want a mind bender, there is always On the Duality of Operating System Structures. But if you want something a little more practical, I'd recommend Eliminating Receive Livelock in an Interrupt-Driven Kernel or The End to End Argument in System Design.

  25. GCH full text by bigHairyDog · · 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.

    Everybody should read this paper, then read Linus Torvalds et. al. discussing the matter on kernaltrap.org

    --

    foo mane padme hum

  26. FYI - try CiteSeer instead of Google by skaya · · Score: 5, Informative

    As a PhD student, I often have to look for papers in the computer science field ; and very often, CiteSeer yields better results - or, rather, different results, but with a very good cross-referencing system. You can directly jump to the other papers cited by the paper you're reading, and you can see which papers did cite it, too.

    The URL :
    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...)

  27. How about Turing's 1935 paper? by dido · · Score: 4, Interesting

    "On computable numbers, with an application to the Entscheidungsproblem"" 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 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.

    --
    Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
  28. Re:"since google has no answers".. by peragrin · · Score: 2, Informative

    just because I'm bored "why not \." simple the backward slash is only used by the backward company microsoft. All true operating systems use the forward slash / it is easier to get to on the keyboard and makes life easier as it is now standard. now to see if anyone bites

    --
    i thought once I was found, but it was only a dream.
  29. Networked Computer Science Technical Reference Lib by hubertf · · Score: 2, Informative
  30. Re:Old Research and Patents - A True and Recent St by Anonymous Coward · · Score: 2, Informative
    "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."

    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 proceeding consist of a title and/or abstract, neither of which normally contains sufficient information to teach how to make and use the invention (i.e., is "enabling"). A mere mention of the concept does not make for invalidating prior art. In almost every case such as this you also need additional prior art and testimony of the speaker at the conference (and possibly those attending).

    And, if you are relying on testimony, the (enabled) invention must be proven to have been "known or used by others" (35 USC 102(a)), or "on sale or in public use" (35 USC 102(b)) ... "in this country" . 35 USC 102. Unfortunately, testimony corroborating oral disclosure in a foreign country doesn't do the trick.

  31. Here are some that come to mind... by Henry+Stern · · Score: 4, Informative

    Since nobody who seems to have actually read any computer science papers has posted, here are two that immediately come to my mind.

    Vannevar Bush. As We May Think. 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. 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. They have a page with the top 200 most accessed papers of all times. When I skimmed through it, I saw quite a few titles that may be of interest.

  32. Re:Why should I? by bj8rn · · Score: 2, Informative
    Monopoly science: n. A science that tries to monopolize the knowledge (and explaining) of how the Universe works. See also: Physics, Theology, Philosophy, Sociology and Semiotics.

    (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)

    --
    Hell is not other people; it is yourself. - Ludwig Wittgenstein
  33. Ah yes, Claude E. Shannon's paper by dido · · Score: 2, Informative

    Shannon's 1948 paper, "A Mathematical Theory of Communication", the seminal work on information theory and coding.

    --
    Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
  34. I.F. Stone Learned Greek for Socrates by handy_vandal · · Score: 3, Informative

    I'm learning to read classical Greek so that I may read Euripides.

    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.

    No translation would suffice: Stone felt that only by reading the original text for himself could he arrive at the insight he desired.

    -kgj

    --
    -kgj
    1. Re:I.F. Stone Learned Greek for Socrates by kfg · · Score: 3, Interesting

      "No translation would suffice: Stone felt that only by reading the original text for himself could he arrive at the insight he desired.

      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 the interview you link to rather pertinent to the current topic:

      Isn't that pretty far from home base, from current concerns and difficulties?

      Not really. All our basic problems are there in miniature.


      When we stop reading the great old papers we lose our history. When we lose our history we lose a measure of our understanding as well. You can't properly understand where you are unless you understand how you came to be there.

      KFG

  35. MIT Open Courseware by The+Jonas · · Score: 3, Informative

    MIT Open Courseware These are not whitepapers and the like. Rather, they are mostly lecture notes from the professors who teach the classes there - Enjoy!

    p.s. - Check out the link in my earlier post

  36. origin of public-key cryptography by e_lehman · · Score: 3, Informative

    This is the paper by Diffie and Hellman that originated public-key cryptography. This paper explained for the first time (in an unclassified place) how two parties could communicate privately over an open channel without previously agreeing on a secret key. Every time your browser says, "Setting up a secure connection..." when you order from Amazon or check your bank account, you're witnessing the impact of this work.

  37. Re:Old Research and Patents - A True and Recent St by Sivaram_Velauthapill · · Score: 2, Interesting

    You touch on the topic of information overload. There is so much new information now, not to mention the amount being generated every day, that people don't have a good grasp of them. Some social scientist once remarked how most "new" works are not really original. A lot of papers, theses, books, articles, magazines, etc are published every year, yet many of them are repeating stuff and inadvertently cover stuff that were already done. For instance, the number of unique scientific papers being published now is a lower percentage than 100 years ago, but the number of papers published now is several magnitudes larger.

    Ironically, if people actually spent time using old stuff, it wouldn't necessarily be better. For instance, people will probably spend more time searching for existing stuff than generating ideas.

    Perhaps the decline of science will be precipitated by this...

    Sivaram Velauthapillai

    --
    Sivaram Velauthapillai
    Seeking the meaning of life... @slashdot of all places ;)
  38. Not all comp sci papers are difficult to grok by tlhf · · Score: 2, Informative
    Try reading Perl, the first postmodern computer language, by Larry Wall. It's informal and not too focussed on perl - the first few pages hardly touch perl.

    Well, maybe I just wanted to whore my favourite paper.

    xxx

  39. FLP by gubachwa · · Score: 2

    I'll put my vote in for "Impossibility of Distributed Consensus With One Faulty Process", by Fischer, Lynch, and Paterson. This paper is better known in theoretical circles as the the FLP result. Quite a cool little paper. Consensus is a problem in which processes are expected to come to an agreement about some value based on the values that were initially proposed by the participating processes. Basically, at the start of any consensus algorithm, each process proposes some value $v \in S$ (where S is some predefined set of values), and when a process decides a value, no process can decide a different value and moreover it must be a value that was initially proposed by some process. There's also a liveness condition: processes must eventually make a decision. What FLP proved was that even when $S = \{0,1\}$ (i.e., they examined the binary consensus problem), and there was only 1 faulty process (i.e., one process may "crash" during the execution of the consensus algorithm), then in a purely asynchronous system, the consensus problem cannot be solved. For example, you can have 10^9 processes, and exactly 1 of those processes could be faulty, and there is absolutely no way in hell that those other 10^9-1 processes can reach any sort of an agreement. Cool, eh?

  40. Good and Evil: Eternal Verities by handy_vandal · · Score: 2, Interesting

    All our basic problems are there in [classical Athens] miniature. -- I.F. Stone

    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 ... but in terms of our humanity, we are fundamentally the same as our ancestors.

    There is a terrible temptation -- especially in America, my home country, whose founders saw themselves as the spiritual successors to the democratic principles of classical Athens -- to view one's own country as "better" than the rest of the world. Indeed, there is a terrible temptation to view oneself as "better" than the rest of mankind. But a reading of history says otherwise. We are neither better nor worse than our ancestors: we are surprisingly like them.

    -kgj

    --
    -kgj
    1. Re:Good and Evil: Eternal Verities by operagost · · Score: 2, Insightful
      "What has been will be again, what has been done will be done again; there is nothing new under the sun. Is there anything of which one can say, "Look! This is something new"? It was here already, long ago; it was here before our time."

      Ecclesiastes 1:9
      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
  41. Re:Old Research and Patents - A True and Recent St by YoJ · · Score: 2, Informative

    In CS, conference proceedings generally include full texts of the papers. Often conference papers will be a general description of an idea and how it was implemented in a system, with references that include a technical report or someone's thesis with more details about the ideas and implementation. I'm not disagreeing that to prove prior art more may be required than old papers.

  42. The Invention of OOP in Sutherland's Dissertation by xeo_at_thermopylae · · Score: 4, Informative
    Ivan Sutherland's Sketchpad was the first realization of object-oriented programming. As you read it you see OOP come to consciousness. Sutherland's dissertation is available online at Sketchpad, A Man-machine Graphical Communication System[HTML] or Sketchpad, A Man-machine Graphical Communication System[PDF]. It was originally submitted at M.I.T. in 1963.

    In the section titled GENERIC STRUCTURE, HIERARCHIES , Sutherland describes how he restructured SKETCHPAD in what we would immediately recognize as an OO manner:

    "The big power of the clear-cut separation of the general and the specific is that it is easy to change the details of specific parts of the program to get quite different results or to expand the system without any need to change the general parts. This was most dramatically brought out when generality was finally achieved in the constraint display and satisfaction routines and new types of constraints were constructed literally at fifteen minute intervals." ... "Before the generic structure was clarified, it was almost impossible to add the instructions required to handle a new type of element."

    Later in the section DEMONSTRATIVE LANGUAGE we see what we might call today the association of classes with methods as Sutherland notes:

    "The organization of the demonstrative program in Sketchpad is in the form of a set of special cases at present. That is, the program itself tests to see whether it is dealing with a line or circle or point or instance and uses different special subroutines accordingly. This organization remains for historical reasons but is not to be considered ideal at all. ***A far better arrangement is to have within the generic block for a type of picture part all subroutines necessary for it.***" [asterisks mine].
  43. grid computing seminal work... by ecklesweb · · Score: 2, Informative

    The Grid: Blueprint for a New Computing Infrastructure by Dr. Ian Foster of Argonne National Laboratory and the University of Chicago, and Dr. Carl Kesselman of the Information Sciences Institute and the University of Southern California.

    Morgan Kaufmann, San Francisco; 1999.

  44. Papers for Human-Computer Interaction by JAS0NH0NG · · Score: 4, Insightful
    A lot of people have covered a lot of great areas in computer science. Here's a short annotated list I've put together for an often-overlooked area, human-computer interaction.
    • As We May Think, by Vannevar Bush. Bush was the Director of the Office of Scientific Research and Development, basically the precursor to NSF and DARPA. In this magazine article, he observed the problem of disseminating information, and noted that electronics may be a better medium (keep in mind that this was written in 1945). He also outlines what he calls the Memex, the first description of a hypertext machine. Bush's theme is that we need to create devices that will make it easier for us to store and access information, and ultimately solve problems better.
    • Sketchpad, by Ivan Sutherland. Couldn't find a link to a video, but this truly is one of the seminal papers in computer science. This paper introduced the first graphical user interface (graphical as in graphics, not windows and mouse), the first object-oriented system, the first zooming interface, and the first constraint solver. Best quote:
      "I once asked Ivan, 'How is it possible for you to have invented computer graphics, done the first object oriented software system and the first real time constraint solver all by yourself in one year?" And he said "I didn't know it was hard." -- Alan Kay on Ivan Sutherland.
      The embarassing part is that, although this was done in the early 1960's, Sketchpad still looks cool and useful today.
    • Doug Engelbart's 1968 Demo. The link points to a video collection, which is easier to read than his papers. Engelbart is not the most exciting speaker, but keep in mind that in 1968 that people were still stuck using terminals and punchcards. What does he show them? The first mouse. The first hypertext implementation. The first use of video-conferencing. The first online help system. The first interactive word processor. Obviously a mind-blowing experience if you were there. As many people have said, this is the mother of all demos, and we still have not achieved many of his visions today.
    • The Computer for the Twenty-First Century by Mark Weiser. Although this was written in 1991, I think that this might be the most important paper of the 1990s. Why? Keep in mind that in 1991, people were still using desktop PCs, that wireless had not achieved momentum, and that sensors were very few and far between.

      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.

  45. Some good software engineering papers by oudzeeman · · Score: 2, Informative

    Lamport, Leslie. "Time, Clocks, and the Ordering of Events in a Distributed System", pps. 558-565, CACM, Vol. 21, No. 7, July, 1978

    Parnas, David. "On the Criteria To Be Used in Decomposing Systems into Modules", pps. 1053-1058, CACM, Vol. 15, No. 12, December, 1972

    Hester, S.D, Parnas, D.L., and Utter, D.F. "Using Documentation as a Software Design Medium", pps. 1942-1977, The Bell System Technical Journal, October, 1981

    Parnas, David L. and Clements, Paul C. "A Rational Design Process: How and Why to Fake It", Presented at the Tapsoft Joint Conference on Theory and Practice of Software Development, Berlin, March, 1985

    And one more(I know this guy, and I had to read this for a class, so I figured I'd give him some props..) Wheeler, Tom. Software System Development Through The Use of Formal Documentation, Ch. 2 (System Documentation), PhD. Thesis, Steven's Institute of Technology 1988

  46. Costs too much by Tangurena · · Score: 4, Interesting
    I used to be members of both societies. Annual student (I spent several years working on my masters) dues to obtain the magazines and journals from each one that interested me cost around $200 per year for each society, and a lot more for non-student dues. No company I have worked for in the last 10 years has been willing to underwrite professional society memberships, even though the written policies claim that they will.

    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.

  47. Lambda by rpg25 · · Score: 2, Informative

    How about the Steele and Sussman "Lambda the Ultimate" MIT AI Lab tech reports. Very influential. Sadly, I don't know if anyone's put them on the web. And, of course, there's the repository of Dijkstra's stuff....

  48. Djikstra by Ian+Bicking · · Score: 2, Informative
    I found this paper (note?) by Djikstra quite interesting: The Programming Task Considered as an Intellectual Challenge

    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.

  49. The Calculi of Lambda CONVERSION by AquaRichy · · Score: 4, Informative

    I think you mean "The Calculi of Lambda Conversion" , or are they two different things?

  50. Doug Engelbart's NLS System by Tony.Tang · · Score: 2, Informative
    This is not a paper, but a video that was done in the late 60's. In it, you'll see many UI concepts that you see being "discovered" now.

    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!?"

  51. Rob Pike is worth a read by DrSkwid · · Score: 2, Informative

    http://www.cs.bell-labs.com/who/rob/

    be sure to catch "Systems Software Research is Irrelevant"

    You will probably see a lot worse links than :

    Bell Labs - formerly known as heaven.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  52. Something a little more concrete by xenocide2 · · Score: 2, Insightful

    I know a lot of people are going to suggest the Turing papers, and other more impact-of-computation-on-society type papers. Of course, they might be better off mentioning Seymour Papert, but I'd rather focus on some papers a little more concrete.

    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.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  53. Re:The Invention of OOP in Sutherland's Dissertati by voodoo1man · · Score: 2, Informative
    Even many experienced OO'ers will tell you that they use less inheritance and sub-typing than they used to, and instead use composition and aggregation, which are "less OO" concepts, and found in IBM's 1964 IMS database.
    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 Messages. I'd like to find out more about the IMS database - have you got any pointers?
    Even in geometry with its stable rules, we have the ellipse-circle fights and the square-rectangle fights.
    I swear I heard about a proposed/experimental object system where parent relationships were handled by constraints (so for example if some rectangular object had equal sides, it would automatically become a square), but I can't find anything on it!

    Alan Borning proposed a neato object system where relationships among objects (it's prototype based) was handled by "inheritance constraints," a sort of super-flexible inheritance cum delegation scheme. See this page for Classes versus Prototypes in Object-Oriented Languages.

    --

    In the great CONS chain of life, you can either be the CAR or be in the CDR.

  54. ACM is part of the problem, not the solution by JohnQPublic · · Score: 2, Informative
    It's very instructive to go look at the "ACM Classic of the Month" collection. It's exactly eight entries long, was only live for short period, and the papers are rife with typos, etc. You can't argue with the choices, though:
    • Codd: "A Relational Model of Data for Large Shared Data Banks"
    • Dijkstra: "Go To Statement Considered Harmful"
    • Dijkstra: "Appendix of The Structure of the "THE"-Multiprogramming System"
    • Hoare: "Monitors: An Operating System Structuring Concept"
    • Metcalfe & Boggs: "Ethernet: Distributed Packet Switching for Local Computer Networks"
    • Parnas: "On the Criteria to be Used in Decomposing Systems into Modules"
    • Thompson: "Reflections on Trusting Trust"
    • Wirth: "Program Development by Stepwise Refinement"
    Of course, the ACM Digital Library contains the "[f]ull text of every article ever published by ACM", but only for paying subscribers ($198/year). An organization that considers itself to be "a major force in advancing the skills of information technology professionals and students worldwide" should be trying to get information into circulation, not trying to squeeze publications fees out of the practioners of the field.
  55. CanonicalPapers by bshanks · · Score: 2, Informative
    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.

    Sounds like the sort of problem that a system like CanonicalTomes would be good for. Canonical tomes is for books. Anyone up for making a similar site for "canonical papers"?

  56. Primes is in P by CodeBuster · · Score: 2, Interesting

    Prof. Manindra Agarwal and two of his students, Nitin Saxena and Neeraj Kayal (both BTech from CSE/IITK who have just joined as Ph.D. students), have discovered a polynomial time deterministic algorithm to test if an input number is prime or not. Lots of people over (literally!) centuries have been looking for a polynomial time test for primality, and this result is a major breakthrough, likened by some to the P-time solution to Linear Programming announced in the 70s.

    You may want to add this one to your list....

    Primes is in P

  57. Great Papers in Computer Science by Pampaluz · · Score: 4, Informative

    Here is a neat site that I found (yep, using Google):

    Great Papers in Computer Science:
    http://bit.csc.lsu.edu/~chen/GreatPapers.html

    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!

  58. Good CS Reading List by eludom · · Score: 3, Informative

    http://john.regehr.org/reading_list/

  59. Best work from Microsoft... by jo42 · · Score: 2, Funny


    "Format C:" by B. Gates