List of important publications in computer science
This is a list of important publications in computer science, organized by field.
Some reasons why a particular publication might be regarded as important:
- Topic creator - A publication that created a new topic
- Breakthrough - A publication that changed scientific knowledge significantly
- Influence - A publication which has significantly influenced the world or has had a massive impact on the teaching of computer science.
Artificial intelligence
''Computing Machinery and Intelligence''
- Alan Turing
- Mind, 59:433-460, 1950.
''A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence''
- John McCarthy
- Marvin Minsky
- N. Rochester
- C.E. Shannon
''Fuzzy sets''
- Lotfi Zadeh
- Information and Control, Vol. 8, pp. 338–353..
''Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference''
- Judea Pearl
- Publisher: Morgan Kaufmann Pub, 1988
''Artificial Intelligence: A Modern Approach''
- Stuart J. Russell and Peter Norvig
- Prentice Hall, Englewood Cliffs, New Jersey, 1995,
Machine learning
''An Inductive Inference Machine''
- Ray Solomonoff
- IRE Convention Record, Section on Information Theory, Part 2, pp. 56–62, 1957
- .
''Language identification in the limit''
- E. Mark Gold
- Information and Control, 10:447-474, 1967
- Online version:
''On the uniform convergence of relative frequencies of events to their probabilities''
- V. Vapnik, A. Chervonenkis
- Theory of Probability and Its Applications, 16:264—280, 1971
''A theory of the learnable''
- Leslie Valiant
- Communications of the ACM, 27:1134-1142
''Learning representations by back-propagating errors''
- David E. Rumelhart, Geoffrey E. Hinton and Ronald J. Williams
- Nature, 323, 533–536, 1986
''Induction of Decision Trees''
- J.R. Quinlan
- Machine Learning, 1. 81—106, 1986.
''Learning Quickly When Irrelevant Attributes Abound: A New Linear-threshold Algorithm''
- Nick Littlestone
- Machine Learning 2: 285–318, 1988
''Learning to predict by the method of Temporal difference''
- Richard S. Sutton
- Machine Learning 3: 9–44
''Learnability and the Vapnik–Chervonenkis dimension''
- A. Blumer
- A. Ehrenfeucht
- D. Haussler
- M. K. Warmuth
- Journal of the ACM, 36:929-965, 1989.
''Cryptographic limitations on learning boolean formulae and finite automata ''
- M. Kearns
- L. G. Valiant
- In Proceedings of the 21st Annual ACM Symposium on Theory of Computing, pages 433-444, New York. ACM.
''The strength of weak learnability''
- Robert E. Schapire
- Machine Learning, 5:197-227, 1990.
''A training algorithm for optimum margin classifiers''
- Bernhard E. Boser
- Isabelle M. Guyon
- Vladimir N. Vapnik
- Proceedings of the Fifth Annual Workshop on Computational Learning Theory 5 144–152, Pittsburgh.
''A fast learning algorithm for deep belief nets''
- Geoffrey E. Hinton
- Simon Osindero
- Yee-Whye Teh
- Neural Computation
''Knowledge-based analysis of microarray gene expression data by using support vector machines''
- MP Brown
- WN Grundy
- D Lin
- Nello Cristianini
- CW Sugnet
- TS Furey
- M Ares Jr,
- David Haussler
- PNAS, 2000 January 4;97:262–7
Collaborative networks
- Camarinha-Matos, L. M.; Afsarmanesh, H.. Collaborative Networks: Reference Modeling, Springer: New York.
Compilers
''On the translation of languages from left to right''
''Semantics of Context-Free Languages.''
- Donald Knuth
- Math. Systems Theory 2:2, 127–145.
''A program data flow analysis procedure''
- Frances E. Allen, J. Cocke
- Commun. ACM, 19, 137–147.
''A Unified Approach to Global Program Optimization''
- Gary Kildall
- Proceedings of ACM SIGACT-SIGPLAN 1973 Symposium on Principles of Programming Languages.
''YACC: Yet another compiler-compiler''
- Stephen C. Johnson
- Unix Programmer's Manual Vol 2b, 1979
''gprof: A Call Graph Execution Profiler''
- Susan L. Graham, Peter B. Kessler, Marshall Kirk McKusick
- Proceedings of the ACM SIGPLAN 1982 Symposium on Compiler Construction, SIGPLAN Notices 17, 6, Boston, MA. June 1982.
- ;
''Compilers: Principles, Techniques and Tools ''
- Alfred V. Aho
- Ravi Sethi
- Jeffrey D. Ullman
- Monica Lam
- Addison-Wesley, 1986.
Computer architecture
''Colossus computer''
- T. H. Flowers
- Annals of the History of Computing, Vol. 5, 1983, pp. 239-252.
''First Draft of a Report on the EDVAC''
- John von Neumann
- June 30, 1945, the ENIAC project.
''Architecture of the IBM System/360''
- Gene Amdahl, Fred Brooks, G. A. Blaauw
- IBM Journal of Research and Development, 1964.
''The case for the reduced instruction set computer''
- DA Patterson, DR Ditzel
- Computer ArchitectureNews, vol. 8, no. 6, October 1980, pp 25–33.
''Comments on "the Case for the Reduced Instruction Set Computer"''
- DW Clark, WD Strecker
- Computer Architecture News, 1980.
''The CRAY-1 Computer System''
- DW Clark, WD Strecker
- Communications of the ACM, January 1978, volume 21, number 1, pages 63–72.
''Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities''
- Gene Amdahl
- AFIPS 1967 Spring Joint Computer Conference, Atlantic City, N.J.
''A Case for Redundant Arrays of Inexpensive Disks (RAID)''
- David A. Patterson, Garth Gibson, Randy H. Katz
- In International Conference on Management of Data, pages 109–116, 1988.
''The case for a single-chip multiprocessor''
- Kunle Olukotun, Basem Nayfeh, Lance Hammond, Ken Wilson, Kunyung Chang
- In SIGOPS Oper. Syst. Rev. 30, pages 2–11, 1996.
Computer graphics
''The Rendering Equation''
- J. Kajiya
- SIGGRAPH: ACM Special Interest Group on Computer Graphics and Interactive Techniques pages 143—150
''Elastically deformable models''
- Demetri Terzopoulos, John Platt, Alan Barr, Kurt Fleischer
- Computer Graphics, 21, 1987, 205–214, Proc. ACM SIGGRAPH'87 Conference, Anaheim, CA, July 1987.
''Sketchpad, a Man-Machine Graphical Communication System''
Description: One of the founding works on computer graphics.Computer vision
'' The Phase Correlation Image Alignment Method ''
- C.D. Kuglin and D.C. Hines
- IEEE 1975 Conference on Cybernetics and Society, 1975, New York, pp. 163-165, September
''Determining Optical Flow''
- Berthold K.P. Horn and B.G. Schunck
- Artificial Intelligence, Volume 17, 185-203, 1981
- OA article here:
''An Iterative Image Registration Technique with an Application to Stereo Vision''
- Lucas, B.D. and Kanade, T.
- Proceedings of the 7th International Joint Conference on Artificial Intelligence, 674-679, Vancouver, Canada, 1981
''The Laplacian Pyramid as a compact image code''
- Peter J. Burt and Edward H. Adelson
- IEEE Transactions on Communications, volume = "COM-31,4", pp. 532-540, 1983.
''Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images''
Description: introduced 1) MRFs for image analysis2) the Gibbs sampling which revolutionized computational Bayesian statistics and thus had paramount impact in many other fields in addition to Computer Vision.
''Snakes: Active contour models''
- Michael Kass, Andrew Witkin, and Demetri Terzopoulos
''Condensation – conditional density propagation for visual tracking''
- M. Isard and A. Blake
- International Journal of Computer Vision, 29:5-28, 1998.
''Object recognition from local scale-invariant features ''
- David Lowe
- International Conference on Computer Vision, pp. 1150–1157, 1999
Concurrent, parallel, and distributed computing
Topics covered: concurrent computing, parallel computing, and distributed computing.Databases
''A relational model for large shared data banks''
- E. F. Codd
- Communications of the ACM, 13:377-387, June 1970
''Binary B-Trees for Virtual Memory''
- Rudolf Bayer
- ACM-SIGFIDET Workshop 1971, San Diego, California, Session 5B, p. 219–235.
''Relational Completeness of Data Base Sublanguages''
- E. F. Codd
- In: R. Rustin : Database Systems: 65–98, Prentice Hall and IBM Research Report RJ 987, San Jose, California :
''The Entity Relationship Model – Towards a Unified View of Data''
Description: This paper introduced the entity-relationship diagram method of database design.''SEQUEL: A structured English query language''
- Donald D. Chamberlin, Raymond F. Boyce
- International Conference on Management of Data, Proceedings of the 1974 ACM SIGFIDET workshop on Data description, access and control, Ann Arbor, Michigan, pp. 249–264
''The notions of consistency and predicate locks in a database system''
- K.P. Eswaran, Jim Gray, R.A. Lorie, I.L. Traiger
- Communications of the ACM 19, 1976, 624—633
''Federated database systems for managing distributed, heterogeneous, and autonomous databases''
- Amit Sheth, J.A. Larson,"
- ACM Computing Surveys - Special issue on heterogeneous databases Surveys, Volume 22 Issue 3, Pages 183 - 236, Sept. 1990
''Mining association rules between sets of items in large databases''
- Rakesh Agrawal, Tomasz Imielinski, Arun Swami
- Proc. of the ACM SIGMOD Conference on Management of Data, pages 207-216, Washington, D.C., May 1993
History of computation
''The Computer from Pascal to von Neumann''
''A History of Computing in the Twentieth Century''
edited by:- Nicholas Metropolis
- J. Howlett
- Gian-Carlo Rota
- Academic Press, 1980,
Information retrieval
''A Vector Space Model for Automatic Indexing''
- Gerard Salton, A. Wong, C. S. Yang
- Commun. ACM 18: 613–620
''Extended Boolean Information Retrieval''
- Gerard Salton, Edward A. Fox, Harry Wu
- Commun. ACM 26: 1022–1036
''A Statistical Interpretation of Term Specificity and Its Application in Retrieval''
- Karen Spärck Jones
- Journal of Documentation 28: 11–21..
Networking
Data Communications and Networking
- Behrouz A. Forouzan., Copyright year: 2013, Publisher:: McGraw hill education.
Operating systems
''An experimental timesharing system.''
- Fernando J. Corbató, M. Merwin-Daggett, and R.C. Daley
- Proceedings of the AFIPS FJCC, pages 335-344, 1962.
''The Working Set Model for Program Behavior''
- Peter J. Denning
- Communications of the ACM, Vol. 11, No. 5, May 1968, pp 323–333
''Virtual Memory, Processes, and Sharing in MULTICS''
- Robert C. Daley, Jack B. Dennis
- Communications of the ACM, Vol. 11, No. 5, May 1968, pp. 306–312.
The nucleus of a multiprogramming system
- Per Brinch Hansen
- Communications of the ACM, Vol. 13, No. 4, April 1970, pp. 238–242
Operating System Principles
- Per Brinch Hansen
- Prentice Hall, Englewood Cliffs, NJ, July 1973
''A note on the confinement problem''
- Butler W. Lampson
- Communications of the ACM, 16:613–615, October 1973.
'' The UNIX Time-Sharing System''
- Dennis M. Ritchie and Ken Thompson
- Communications of the ACM 17, July 1974.
''Weighted voting for replicated data''
- David K. Gifford
- Proceedings of the 7th ACM Symposium on Operating Systems Principles, pages 150–159, December 1979. Pacific Grove, California
''Experiences with Processes and Monitors in Mesa''
- Butler W. Lampson, David D. Redell
- Communications of the ACM, Vol. 23, No. 2, February 1980, pp. 105–117.
''Scheduling Techniques for Concurrent Systems''
- J. K. Ousterhout
- Proceedings of Third International Conference on Distributed Computing Systems, 1982, 22—30.
''A Fast File System for UNIX''
- Marshall Kirk Mckusick, William N. Joy, Samuel J. Leffler, Robert S. Fabry
- IACM Transactions on Computer Systems, Vol. 2, No. 3, August 1984, pp. 181–197.
''The Design of the UNIX Operating System''
- Maurice J. Bach, AT&T Bell Labs
- Prentice Hall • 486 pp • Published 05/27/1986
''The Design and Implementation of a Log-Structured File System''
- Mendel Rosenblum, J. K. Ousterhout
- ACM Transactions on Computer Systems, Vol. 10, No. 1, pp. 26–52.
''Microkernel operating system architecture and Mach''
- David L. Black, David B. Golub, Daniel P. Julin, Richard F. Rashid, Richard P. Draves, Randall W. Dean, Alessandro Forin, Joseph Barrera, Hideyuki Tokuda, Gerald Malan, David Bohman
- Proceedings of the USENIX Workshop on Microkernels and Other Kernel Architectures, pages 11–30, April 1992.
''An Implementation of a Log-Structured File System for UNIX''
- Margo Seltzer, Keith Bostic, Marshall Kirk McKusick, Carl Staelin
- Proceedings of the Winter 1993 USENIX Conference, San Diego, CA, January 1993, 307-326
''Soft Updates: A Solution to the Metadata Update problem in File Systems''
- G. Ganger, M. McKusick, C. Soules, Y. Patt
- ACM Transactions on Computer Systems 18, 2. pp 127–153, May 2000
Programming languages
''The FORTRAN Automatic Coding System''
- John Backus et al.
- Proceedings of the WJCC, Los Angeles, California, February 1957.
''Recursive functions of symbolic expressions and their computation by machine, part I''
- John McCarthy.
- Communications of the ACM, 3:184–195, April 1960.
''ALGOL 60''
- by Peter Naur, et al. - The very influential ALGOL definition; with the first formally defined syntax.
- Brian Randell and L. J. Russell, ALGOL 60 Implementation: The Translation and Use of ALGOL 60 Programs on a Computer. Academic Press, 1964. The design of the Whetstone Compiler. One of the early published descriptions of implementing a compiler. See the related papers: , and by Brian Randell
- Edsger W. Dijkstra, Algol 60 translation: an Algol 60 translator for the x1 and making a translator for Algol 60, report MR 35/61. Mathematisch Centrum, Amsterdam, 1961.
''The next 700 programming languages''
- Peter Landin
- Communications of the ACM 9:157–65, March 1966
''Fundamental Concepts in Programming Languages''
Description:Fundamental Concepts in Programming Languages introduced much programming language terminology still in use today, including R-values, L-values, parametric polymorphism, and ad hoc polymorphism.
''Lambda Papers''
- Gerald Jay Sussman and Guy L. Steele, Jr.
- AI Memos, 1975–1980
''Structure and Interpretation of Computer Programs''
- Harold Abelson and Gerald Jay Sussman
- MIT Press, 1984, 1996
''Comprehending Monads''
- Philip Wadler
- Mathematical structures in computer science 2.04 : 461–493.
''Towards a Theory of Type Structure''
- John Reynolds
- Programming Symposium. Springer Berlin Heidelberg, 1974.
''An axiomatic basis for computer programming''
- Tony Hoare
- Communications of the ACM, Volume 12 Issue 10, Oct. 1969, Pages 576-580
Scientific computing
Computational linguistics
Software engineering
''Software engineering: Report of a conference sponsored by the NATO Science Committee''
- Peter Naur, Brian Randell
- Garmisch, Germany, 7-11 October 1968, Brussels, Scientific Affairs Division, NATO 231pp.
The paper defined the field of Software engineering
''A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System''http://c2.com/cgi/wiki?ModelViewControllerHistory Model View Controller History . C2.com (2012-05-11). Retrieved on 2013-12-09.
- Krasner, Glenn E.; Pope, Stephen T.
- The Journal of Object Technology, Aug-Sep 1988
''Go To Statement Considered Harmful''
- Dijkstra, E. W.
- Communications of the ACM, 11:147-148, March 1968
''On the criteria to be used in decomposing systems into modules''
- David Parnas
- Communications of the ACM, Volume 15, Issue 12:1053-1058, December 1972.
''Hierarchical Program Structures''
- Ole-Johan Dahl, C. A. R. Hoare
- in Dahl, Dijkstra and Hoare, Structured Programming, Academic Press, London and New York, pp. 175–220, 1972.
''A Behavioral Notion of Subtyping''
- Barbara H. Liskov, Jeannette M. Wing
- ACM Transactions on Programming Languages and Systems,1994
''A technique for software module specification with examples''
- David Parnas
- Comm. ACM 15, 5, 330–336.
''Structured Design''
- Wayne Stevens, Glenford Myers, and Larry Constantine
- IBM Systems Journal, 13, 115–139, 1974.
''The Emperor's Old Clothes''
- C.A.R. Hoare
- Communications of the ACM, Vol. 24, No. 2, February 1981, pp. 75–83.
''The Mythical Man-Month: Essays on Software Engineering''
- Brooks, Jr., F. P.
- Addison Wesley Professional. 2nd edition, 1995.
''No Silver Bullet: Essence and Accidents of Software Engineering''
''The Cathedral and the Bazaar''
- Raymond, E.S.
- First Monday, 3, 3
''Design Patterns: Elements of Reusable Object Oriented Software''
- E. Gamma, R. Helm, R. Johnson, J. Vlissides
- Addison–Wesley, Reading, Massachusetts, 1995.
''Statecharts: A Visual Formalism For Complex Systems''
- David Harel
- D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231—274, 1987
Security
Anonymity Systems
- David Chaum. . Communications of the ACM, 4:84–88, February 1981.
- Dingledine and Mathewson, , Workshop on the Economics of Information Security 2006
Cryptography
- Whitfield Diffie and Martin E. Hellman, New Directions in Cryptography, IEEE Transactions on Information Theory, November 1976
- R. L. Rivest and A. Shamir and L. M. Adelman, A Method For Obtaining Digital Signatures And Public-Key Cryptosystems, MIT/LCS/TM-82, 1977
- Merkle, R. , PhD Thesis, 1979 Stanford University.
Passwords
- Morris, Robert and Thompson, Ken. , Communications of the ACM CACM Homepage archive Volume 22 Issue 11, Nov. 1979 Pages 594–597.
System Security
- Dennis and Van Horn, , ACM Conference on Programming Languages and Pragmatics
- Saltzer and Schroeder, , ACM Symposium on Operating System Principles
- Karger and Schell, , ACSAC 2002
- Lampson, Butler. , Communications of the ACM, 16:10, pp. 613–615.
- Thompson, Ken. , Communications of the ACM, 27:8, Aug 1984
- J.E. Forrester and B.P. Miller, , 4th USENIX Windows Systems Symposium, Seattle, August 2000.
- Zissis D and Lekkas D, , Future Generation Computer Systems, 28/3, pp. 583–592, Elsevier 2012
Usable Security
- Whitten, Alma and Tygar, J.D., , Proceedings of the 8th conference on USENIX Security Symposium, Volume 8, Pages 14–28
- Garfinkel, Simson and Shelat, Abhi, , IEEE Security and Privacy, Volume 1 Issue 1, January 2003, Page 17-27
Theoretical computer science