原文地址:http://en.wikipedia.org/wiki/List_of_publications_in_computer_science

List of important publications in computer science

From Wikipedia, the free encyclopedia
(Redirected from List of publications in computer science)
This article has an unclear citation style. The references used may be made clearer with a different or consistent style of citation, footnoting, or external linking. (October 2011)

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.

Contents

[hide]

  • 1 Artificial intelligence
  • 2 Collaborative networks
  • 3 Compilers
  • 4 Computer architecture
  • 5 Computer graphics
  • 6 Computer vision
  • 7 Concurrent, parallel, and distributed computing
  • 8 Databases
  • 9 History of computation
  • 10 Information retrieval
  • 11 Networks and security
  • 12 Operating systems
  • 13 Programming languages
  • 14 Scientific computing
  • 15 Software engineering
  • 16 Theoretical computer science
  • 17 See also
  • 18 References
  • 19 External links

[edit]Artificial intelligence

[edit]Computing Machinery and Intelligence

  • Alan Turing
  • Mind, 59:433–460, 1950.
  • Online copy

Description: This paper discusses whether machines can think and suggested the Turing test as a method for checking it.

[edit]A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence

  • John McCarthy
  • Marvin Minsky
  • N. Rochester
  • C.E. Shannon
  • Online copy

Description: This summer research proposal inaugurated and defined the field. It contains the first use of the term artificial intelligence and this succinct description of the philosophical foundation of the field: "every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it." (See philosophy of AI) The proposal invited researchers to the Dartmouth conference, which is widely considered the "birth of AI". (See history of AI.)

[edit]Fuzzy sets

  • Lotfi Zadeh
  • Information and Control, Vol. 8, pp. 338–353. (1965).
  • Online copy

Description: The seminal paper published in 1965 provides details on the mathematics of fuzzy set theory.

[edit]Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference

  • Judea Pearl
  • ISBN 1-55860-479-0 Publisher: Morgan Kaufmann Pub, 1988

Description: This book introduced Bayesian methods to AI.

[edit]Artificial Intelligence: A Modern Approach

  • Stuart J. Russell and Peter Norvig
  • Prentice Hall, Englewood Cliffs, New Jersey, 1995, ISBN 0-13-080302-2
  • Textbook's website

Description: The standard textbook in Artificial Intelligence. The book web site lists over 1100 colleges.

[edit]Machine learning

[edit]An Inductive Inference Machine

  • Ray Solomonoff
  • IRE Convention Record, Section on Information Theory, Part 2, pp. 56–62, 1957
  • (A longer version of this, a privately circulated report, 1956, is online).

Description: The first paper written on machine learning. Emphasized the importance of training sequences, and the use of parts of previous solutions to problems in constructing trial solutions to new problems.

[edit]Language identification in the limit

  • E. M. Gold
  • Information and Control, 10:447–474, 1967
  • Online version(HTML)

Description: This paper created Algorithmic learning theory.

[edit]On the uniform convergence of relative frequencies of events to their probabilities

  • V. Vapnik, A. Chervonenkis
  • Theory of Probability and its Applications, 16(2):264—280, 1971

Description: Computational learning theory, VC theory, statistical uniform convergence and the VC dimension.

[edit]A theory of the learnable

  • Leslie Valiant
  • Communications of the ACM, 27(11):1134–1142 (1984)

Description: The Probably approximately correct learning (PAC learning) framework.

[edit]Learning representations by back-propagating errors

  • David E. Rumelhart, Geoffrey E. Hinton and Ronald J. Williams
  • Nature, 323, 533—536, 1986

Description: Development of Backpropagation algorithm for artificial neural networks. Note that the algorithm was first described by Paul Werbos in 1974.

[edit]Induction of Decision Trees

  • J.R. Quinlan
  • Machine Learning, 1. 81—106, 1986.

Description: Decision Trees are a common learning algorithm and a decision representation tool. Development of decision trees was done by many researchers in many areas, even before this paper. Though this paper is one of the most influential in the field.

[edit]Learning Quickly When Irrelevant Attributes Abound: A New Linear-threshold Algorithm

  • Nick Littlestone
  • Machine Learning 2: 285–318, 1988
  • Online version(PDF)

Description: One of the papers that started the field of on-line learning. In this learning setting, a learner receives a sequence of examples, making predictions after each one, and receiving feedback after each prediction. Research in this area is remarkable because (1) the algorithms and proofs tend to be very simple and beautiful, and (2) the model makes no statistical assumptions about the data. In other words, the data need not be random (as in nearly all other learning models), but can be chosen arbitrarily by "nature" or even an adversary. Specifically, this paper introduced the winnow algorithm.

[edit]Learning to predict by the method of Temporal difference

  • Richard S. Sutton
  • Machine Learning 3(1): 9–44
  • Online copy

Description: The Temporal difference method for reinforcement learning.

[edit]Learnability and the Vapnik–Chervonenkis dimension

  • A. Blumer
  • A. Ehrenfeucht
  • D. Haussler
  • M. K. Warmuth
  • Journal of the ACM, 36(4):929–965, 1989.

Description: The complete characterization of PAC learnability using the VC dimension.

[edit]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.
  • Online version(HTML)

Description: Proving negative results for PAC learning.

[edit]The strength of weak learnability

  • Robert E. Schapire
  • Machine Learning, 5(2):197–227, 1990.
  • Online version(HTML)

Description: Proving that weak and strong learnability are equivalent in the noise free PAC framework. The proof was done by introducing the boosting method.

[edit]Learning in the presence of malicious errors

  • Michael Kearns
  • Ming Li
  • Journal on Computing, 22(4):807–837, August 1993.
  • Online version(HTML)

Description: Proving possibility and impossibility result in the malicious errors framework.

[edit]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 (1992).
  • Online version(HTML)

Description: This paper presented support vector machines, a practical and popular machine learning algorithm. Support vector machines utilize the kernel trick, a generally used method.

[edit]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(1):262–7 <http://www.pnas.org/cgi/content/abstract/97/1/262>

Description: The first application of supervised learning to gene expression data, in particular Support Vector Machines. The method is now standard, and the paper one of the most cited in the area.

[edit]Collaborative networks

  • Camarinha-Matos, L. M.; Afsarmanesh,H. (2005). Collaborative networks: A new scientific discipline, J. Intelligent Manufacturing, vol. 16, Nº 4–5, pp 439–452.
  • Camarinha-Matos, L. M.; Afsarmanesh,H. (2008). Collaborative Networks: Reference Modeling, Springer: New York.

[edit]Compilers

[edit]On the translation of languages from left to right[1]

  • Donald Knuth
  • Information and Control 8 (1965), 607–639.

Description: Bottom up parsing for deterministic context-free languages from which the LALR parser was derived, the parsing approach used by Yacc.

[edit]Semantics of Context-Free Languages.

  • Donald Knuth
  • Math. Systems Theory 2:2 (1968), 127–145.

Description: About grammar attribution, the base for yacc's s-attributed and zyacc's LR-attributed approach.

[edit]A program data flow analysis procedure

  • F.E. Allen, J. Cocke
  • Commun. ACM, 19, 137—147.

Description: From the abstract: "The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which can possibly reach each node of the control flow graph of the program and all the definitions that are live on each edge of the graph."

[edit]A Unified Approach to Global Program Optimization

  • Gary Kildall
  • Proceedings of ACM SIGACT-SIGPLAN 1973 Symposium on Principles of Programming Languages.

Description: Formalized the concept of data-flow analysis as fixpoint computation over lattices, and showed that most static analyses used for program optimization can be uniformly expressed within this framework.

[edit]YACC: Yet another compiler-compiler

  • Stephen C. Johnson
  • Unix Programmer's Manual Vol 2b, 1979
  • Online copy (HTML)

Description: Yacc is a tool that made compiler writing much easier.

[edit]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.
  • Online copy; pdf

Description: The gprof profiler

[edit]Compilers: Principles, Techniques and Tools

  • Alfred V. Aho
  • Ravi Sethi
  • Jeffrey D. Ullman
  • Monica Lam
  • Addison-Wesley, 1986. ISBN 0-201-10088-6

Description: This book became a classic in compiler writing. It is also known as the Dragon book, after the (red) dragon that appears on its cover.

[edit]Computer architecture

[edit]Colossus computer

  • T. H. Flowers
  • Annals of the History of Computing, Vol. 5 (No. 3), 1983, pp. 239–252.
  • The Design of Colossus

Description: The Colossus machines were early computing devices used by British codebreakers to break German messages encrypted with the Lorenz Cipher duringWorld War II. Colossus was an early binary electronic digital computer. The design of Colossus was later described in the referenced paper.

[edit]First Draft of a Report on the EDVAC[2]

  • John von Neumann
  • June 30, 1945, the ENIAC project.
  • First Draft of a report on the EDVAC (PDF)

Description: It contains the first published description of the logical design of a computer using the stored-program concept, which has come to be known as thevon Neumann architecture.

[edit]Architecture of the IBM System/360

  • Gene Amdahl, Fred Brooks, G. A. Blaauw
  • IBM Journal of Research and Development, 1964.
  • Architecture of the IBM System/360

Description: The IBM System/360 (S/360) is a mainframe computer system family announced by IBM on April 7, 1964. It was the first family of computers making a clear distinction between architecture and implementation.

[edit]The case for the reduced instruction set computer

  • DA Patterson, DR Ditzel
  • Computer ArchitectureNews, vol. 8, no. 6, October 1980, pp 25–33.
  • Online version(PDF)

Description: The reduced instruction set computerRISC) CPU design philosophy. The RISC is a CPU design philosophy that favors a reduced set of simplerinstructions.

[edit]Comments on "the Case for the Reduced Instruction Set Computer"

  • DW Clark, WD Strecker
  • Computer Architecture News, 1980.
  • Online version(PDF)

Description:

[edit]The CRAY-1 Computer System

  • DW Clark, WD Strecker
  • Communications of the ACM, January 1978, volume 21, number 1, pages 63–72.
  • Online version(PDF)

Description: The Cray-1 was a supercomputer designed by a team including Seymour Cray for Cray Research. The first Cray-1 system was installed at Los Alamos National Laboratory in 1976, and it went on to become one of the best known and most successful supercomputers in history.

[edit]Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities

  • Gene Amdahl
  • AFIPS 1967 Spring Joint Computer Conference, Atlantic City, N.J.
  • Online version(PDF)

Description: The Amdahl's Law.

[edit]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.
  • Online version(PDF)

Description: This paper discusses the concept of RAID disks, outlines the different levels of RAID, and the benefits of each level. It is a good paper for discussing issues of reliability and fault tolerance of computer systems, and the cost of providing such fault-tolerance.

[edit]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.
  • Online version(PDF)

Description: This paper argues that the approach taken to improving the performance of processors by adding multiple instruction issue and out-of-order execution cannot continue to provide speedups indefinitely. It lays out the case for making single chip processors that contain multiple "cores". With the mainstream introduction of multicore processors by Intel in 2005, and their subsequent domination of the market, this paper was shown to be prescient.

[edit]Computer graphics

[edit]The Rendering Equation

  • J. Kajiya
  • SIGGRAPH: ACM Special Interest Group on Computer Graphics and Interactive Techniques pages 143—150 [3]

[edit]Elastically deformable models

  • D. Terzopoulos, J. Platt, A. Barr, K. Fleischer
  • Computer Graphics, 21(4), 1987, 205–214, Proc. ACM SIGGRAPH'87 Conference, Anaheim, CA, July 1987.
  • Online version(PDF)

Description: The Academy of Motion Picture Arts and Sciences cited this paper as a "milestone in computer graphics".

[edit]Computer vision

[edit]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

Description: A correlation method based upon the inverse Fourier transform

[edit]Determining Optical Flow

  • B.K.P. Horn and B.G. Schunck
  • Artificial Intelligence, Volume 17, 185–203, 1981

Description: A method for estimating the image motion of world points between 2 frames of a video sequence.

[edit]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
  • Online version

Description: This paper provides efficient technique for image registration

[edit]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.
  • Online version

Description: A technique for image encoding using local operators of many scales.

[edit]Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images

  • Stuart Geman and Donald Geman
  • IEEE Transactions on Pattern Analysis and Machine Intelligence, 1984

Description: introduced 1) MRFs for image analysis 2) the Gibbs sampling which revolutionized computational Bayesian statistics and thus had paramount impact in many other fields in addition to Computer Vision.

[edit]Snakes: Active contour models

  • Michael Kass, Andrew Witkin, and Demetri Terzopoulos
  • International Journal of Computer Vision, 1(4):321–331, 1988. (Marr Prize Special Issue)
  • Online version

Description: An interactive variational technique for image segmentation and visual tracking.

[edit]Condensation – conditional density propagation for visual tracking

  • M. Isard and A. Blake
  • International Journal of Computer Vision, 29(1):5–28, 1998.
  • Online version

Description: A technique for visual tracking

[edit]Object recognition from local scale-invariant features

  • David Lowe
  • International Conference on Computer Vision, pp. 1150–1157, 1999
  • [1]

Description: A technique (scale-invariant feature transform) for robust feature description

[edit]Concurrent, parallel, and distributed computing

Main article: List of important publications in concurrent, parallel, and distributed computing

Topics covered: concurrent computing, parallel computing, and distributed computing.

[edit]Databases

[edit]A relational model for large shared data banks

  • E. F. Codd
  • Communications of the ACM, 13(6):377–387, June 1970

Description: This paper introduced the relational model for databases. This model became the number one model.

[edit]Binary B-Trees for Virtual Memory

  • Rudolf Bayer
  • ACM-SIGFIDET Workshop 1971, San Diego, California, Session 5B, p. 219–235.

Description: This paper introduced the B-Trees data structure. This model became the number one model.

[edit]Relational Completeness of Data Base Sublanguages

  • E. F. Codd
  • In: R. Rustin (ed.): Database Systems: 65-98, Prentice Hall and IBM Research Report RJ 987, San Jose, California : (1972)
  • Online version (PDF)

Description: Completeness of Data Base Sublanguages

[edit]The Entity Relationship Model – Towards a Unified View of Data

  • Peter Chen
  • ACM Transactions on Database Systems, Vol. 1, No. 1, March 1976, pp. 9–36

Description: This paper introduced the entity-relationship diagram(ERD) method of database design.

[edit]SEQUEL: A structured English query language

  • Donald D. Chamberlin, Raymond F. Boyce
  • International Conference on Management of Data, Proceedings of the 1974 ACM SIGFIDET (now SIGMOD) workshop on Data description, access and control, Ann Arbor, Michigan, pp. 249–264

Description: This paper introduced the SQL language.

[edit]The notions of consistency and predicate locks in a database system

  • K.P. Eswaran, J. Gray, R.A. Lorie, I.L. Traiger
  • Communications of the ACM 19, 1976, 624—633

Description: This paper defined the concepts of transaction, consistency and schedule. It also argued that a transaction needs to lock a logical rather than a physical subset of the database.

[edit]Federated database systems for managing distributed, heterogeneous, and autonomous databases

  • Amit Sheth, J.A. Larson,"
  • ACM Computing Surveys (CSUR) - Special issue on heterogeneous databases Surveys, Volume 22 Issue 3, Pages 183 - 236, Sept. 1990
  • ACM source

Description: Introduced federated database systems concept leading huge impact on data interoperability and integration of hetereogenous data sources.

[edit]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
  • Online copy (HTML)

Description: Association rules, a very common method for data mining.

[edit]History of computation

[edit]The Computer from Pascal to von Neumann

  • Goldstine, Herman H. (1972). The Computer from Pascal to von Neumann. Princeton University Press. ISBN 0-691-08104-2.

Description: Perhaps the first book on the history of computation.

[edit]A History of Computing in the Twentieth Century

edited by:

  • Nicholas Metropolis
  • J. Howlett
  • Gian-Carlo Rota
  • Academic Press, 1980, ISBN 0-12-491650-3

Description: Several chapters by pioneers of computing.

[edit]Information retrieval

[edit]A Vector Space Model for Automatic Indexing

  • Gerard Salton, A. Wong, C. S. Yang
  • Commun. ACM 18(11): 613–620 (1975)

Description: Presented the vector space model.

[edit]Extended Boolean Information Retrieval

  • Gerard Salton, Edward A. Fox, Harry Wu
  • Commun. ACM 26(11): 1022–1036 (1983)

Description: Presented the inverted index

[edit]Networks and security

Main article: List of important publications in cryptography

Topics covered: cryptography and computer security, computer networks and the Internet.

[edit]Operating systems

[edit]An experimental timesharing system.

  • Fernando J. Corbató, M. Merwin-Daggett, and R.C. Daley
  • Proceedings of the AFIPS FJCC, pages 335–344, 1962.
  • Online copy (HTML)

Description: This paper discuss time-sharing as a method of sharing computer resource. This idea changed the interaction with computer systems.

[edit]The Working Set Model for Program Behavior

  • Peter J. Denning
  • Communications of the ACM, Vol. 11, No. 5, May 1968, pp 323–333
  • Online version(PDF)

Description: The beginning of cache. For more information see SIGOPS Hall of Fame.

[edit]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.
  • Online version(PDF)

Description: The classic paper on Multics, the most ambitious operating system in the early history of computing. Difficult reading, but it describes the implications of trying to build a system that takes information sharing to its logical extreme. Most operating systems since Multics have incorporated a subset of its facilities.

[edit]A note on the confinement problem

  • Butler W. Lampson
  • Communications of the ACM, 16(10):613–615, October 1973.
  • Online version(PDF)

Description: This paper addresses issues in constraining the flow of information from untrusted programs. It discusses covert channels, but more importantly it addresses the difficulty in obtaining full confinement without making the program itself effectively unusable. The ideas are important when trying to understand containment of malicious code, as well as aspects of trusted computing.

[edit]The UNIX Time-Sharing System

  • Dennis M. Ritchie and Ken Thompson
  • Communications of the ACM 7, 7, July 1974.
  • Online copy (few formats)

Description: The Unix operating system and its principles were described in this paper. The main importance is not of the paper but of the operating system, which had tremendous effect on operating system and computer technology.

[edit]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
  • Online copy (few formats)

Description: This paper describes the consistency mechanism known as quorum consensus. It is a good example of algorithms that provide a continuous set of options between two alternatives (in this case, between the read-one write-all, and the write-one read-all consistency methods). There have been many variations and improvements by researchers in the years that followed, and it is one of the consistency algorithms that should be understood by all. The options available by choosing different size quorums provide a useful structure for discussing of the core requirements for consistency in distributed systems.

[edit]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.
  • Online copy (PDF)

Description: This is the classic paper on synchronization techniques, including both alternate approaches and pitfalls.

[edit]Scheduling Techniques for Concurrent Systems

  • J. K. Ousterhout
  • Proceedings of Third International Conference on Distributed Computing Systems, 1982, 22—30.

Description: Algorithms for coscheduling of related processes were given

[edit]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.
  • Online copy (PDF)

Description: The file system of UNIX. One of the first papers discussing how to manage disk storage for high-performance file systems. Most file-system research since this paper has been influenced by it, and most high-performance file systems of the last 20 years incorporate techniques from this paper.

[edit]The Design and Implementation of a Log-Structured File System

  • Mendel Rosenblum, J. K. Ousterhout
  • ACM Transactions on Computer Systems, Vol. 10, No. 1 (February 1992), pp. 26–52.
  • Online version

Description: Log-structured file system.

[edit]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.

Description: This is a good paper discussing one particular microkernel architecture and contrasting it with monolithic kernel design. Mach underlies Mac OS X, and its layered architecture had a significant impact on the design of the Windows NT kernel and modern microkernels like L4. In addition, its memory-mapped files feature was added to many monolithic kernels.

[edit]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
  • Online version

Description: The paper was the first production-quality implementation of that idea which spawned much additional discussion of the viability and short-comings of log-structured filesystems. While "The Design and Implementation of a Log-Structured File System" was certainly the first, this one was important in bringing the research idea to a usable system.

[edit]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
  • Online version

Description: A new way of maintaining filesystem consistency.

[edit]Programming languages

[edit]The FORTRAN Automatic Coding System[4]

  • John Backus et al.
  • Proceedings of the WJCC (Western Joint Computer Conference), Los Angeles, California, February 1957.
  • Online version(PDF)

Description: This paper describes the design and implementation of the first FORTRAN compiler by the IBM team. Fortran is a general-purpose, procedural,imperative programming language that is especially suited to numeric computation and scientific computing.

[edit]Recursive functions of symbolic expressions and their computation by machine, part I[5]

  • John McCarthy.
  • Communications of the ACM, 3(4):184–195, April 1960.
  • Several online versions

Description: This paper introduced LISP, the first functional programming language, which was used heavily in many areas of computer science, especially in AI. LISP also has powerful features for manipulating LISP programs within the language.

[edit]ALGOL 60

  • Revised Report on the Algorithmic Language Algol 60 by Peter Naur, et al. – The very influential ALGOL definition; with the first formally defined syntax.
  • B. 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 theWhetstone Compiler. One of the early published descriptions of implementing a compiler. See the related papers: Whetstone Algol Revisited, and The Whetstone KDF9 Algol Translator by B. 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. [6]

Description: Algol 60 introduced block structure.

[edit]Pascal

  • Niklaus Wirth: The Programming Language Pascal. 35–63, Acta Informatica, Volume 1, 1971.
  • Kathleen Jensen and Niklaus Wirth: PASCAL - User Manual and Report. Springer-Verlag, 1974, 1985, 1991, ISBN 0-387-97649-3 and ISBN 3-540-97649-3 [7]
  • Niklaus Wirth: Algorithms + Data Structures = Programs. Prentice–Hall, 1975, ISBN 0-13-022418-9 [8]

Description: Pascal introduced good programming practices using structured programming and data structuring.

[edit]The next 700 programming languages[5]

  • Peter Landin
  • Communications of the ACM 9(3):157–65, March 1966 [9]

Description: This seminal paper proposed an ideal language ISWIM, which without being ever implemented influenced the whole later development.

[edit]Fundamental Concepts in Programming Languages

  • Christopher Strachey

[edit]Lambda Papers

  • Gerald Jay Sussman and Guy L. Steele, Jr.
  • AI Memos, 1975–1980

Description: This series of papers and reports first defined the influential Scheme programming language and questioned the prevailing practices in programming language design, employing lambda calculus extensively to model programming language concepts and guide efficient implementation without sacrificing expressive power.

[edit]Structure and Interpretation of Computer Programs

  • Harold Abelson and Gerald Jay Sussman
  • MIT Press, 1984, 1996

Description: This textbook explains core computer programming concepts, and is widely considered a classic text in computer science.

[edit]The C Programming Language

  • Brian Kernighan and Dennis Ritchie
  • Prentice Hall, 1978, 1988

Description: Co-authored by the man who designed the C programming language, the first edition of this book served for many years as the language's de facto standard. As such, the book is regarded by many to be the authoritative reference on C.

[edit]The C++ Programming Language

  • Bjarne Stroustrup
  • Addison–Wesley, 1986, 1997, 2000

Description: Written by the man who designed the C++ programming language, the first edition of this book served for many years as the language's de facto standard until the publication of the ISO/IEC 14882:1998: Programming Language C++ standard on 1 September 1998.

[edit]The Java Programming Language

  • Ken Arnold, James Gosling, David Holmes, The Java Programming Language, Fourth Edition, Addison-Wesley Professional, 2005, ISBN 0-321-34980-6

[edit]Scientific computing

Main article: Computational science
  • Wilkinson, J. H.; Reinsch, C. (1971). Linear algebra, volume II of Handbook for Automatic Computation. Springer. ISBN 978-0-387-05414-8.
  • Golub, Gene H.; van Loan, Charles F. (1996) [1983], Matrix Computations, 3rd edition, Johns Hopkins University Press;, ISBN 978-0-8018-5414-9

[edit]Computational linguistics

  • Booth, T. L. (1969). "Probabilistic representation of formal languages". IEEE Conference Record of the 1969 Tenth Annual Symposium on Switching and Automata Theory. pp. 74–81.
Contains the first presentation of stochastic context-free grammars.
  • Koskenniemi, Kimmo (1983), Two-level morphology: A general computational model of word-form recognition and production, Department of General Linguistics,University of Helsinki
The first published description of computational morphology using finite state transducers. (Kaplan and Kay had previously done work in this field and presented this at a conference; the linguist Johnson had remarked the possibility in 1972, but not produced any implementation.)
Rabiner, Lawrence R. (1989). "A tutorial on hidden Markov models and selected applications in speech recognition". Proceedings of the IEEE 77 (2): 257–286.
An overview of hidden Markov models geared toward speech recognition and other NLP fields, describing the Viterbi and forward-backward algorithms.
  • Brill, Eric (1995). "Transformation-based error-driven learning and natural language processing: A case study in part-of-speech tagging". Computational Linguistics 21 (4): 543–566.
Describes a now commonly used POS tagger based on transformation-based learning.
  • Manning, Christopher D.; Schütze, Hinrich (1999), Foundation of Statistical Natural Language Processing, MIT Press
Textbook on statistical and probabilistic methods in NLP.
  • Frost, Richard A. (2006). "Realization of Natural-Language Interfaces Using Lazy Functional Programming". ACM Computing Surveys 38 (4).
This survey documents relatively less researched importance of lazy functional programming languages (i.e. Haskell) to construct Natural Language Processors and to accommodated many linguistic theories.

[edit]Software engineering

See also: List of software engineering topics#Notable publications

[edit]Software engineering: Report of a conference sponsored by the NATO Science Committee

  • Peter Naur, Brian Randell (eds.)
  • Garmisch, Germany, 7–11 October 1968, Brussels, Scientific Affairs Division, NATO (1969) 231pp.
  • Online copy (PDF)

Description: Conference of leading figures in software field c. 1968
The paper defined the field of Software engineering

[edit]Go To Statement Considered Harmful[5]

  • Dijkstra, E. W.
  • Communications of the ACM, 11(3):147–148, March 1968
  • Online copy (PDF)

Description: Don't use goto – the beginning of structured programming.

[edit]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.
  • Online copy (PDF)

Description: The importance of modularization and information hiding. Note that information hiding was first presented in a different paper of the same author – "Information Distributions Aspects of Design Methodology", Proceedings of IFIP Congress '71, 1971, Booklet TA-3, pp. 26–30

[edit]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.

Description: The beginning of Object-oriented programming. This paper argued that programs should be decomposed to independent components with small and simple interfaces. They also argued that objects should have both data and related methods.

[edit]A technique for software module specification with examples

  • David Parnas
  • Comm. ACM 15, 5 (May 1972), 330–336.
  • Online copy (PDF)

Description: software specification.

[edit]Structured Design

  • Wayne Stevens, Glenford Myers, and Larry Constantine
  • IBM Systems Journal, 13 (2), 115–139, 1974.
  • On-line copy (PDF)

Description: Seminal paper on Structured Design, data flow diagram, coupling, and cohesion.

[edit]The Emperor's Old Clothes

  • C.A.R. Hoare
  • Communications of the ACM, Vol. 24, No. 2, February 1981, pp. 75–83.
  • Archived copy (PDF)

Description: A lovely story of how large software projects can go right, and then wrong, and then right again, told with humility and humor. Illustrates the "second-system effect" and the importance of simplicity.

[edit]The Mythical Man-Month: Essays on Software Engineering

  • Brooks, Jr., F. P.
  • Addison Wesley Professional. 2nd edition, 1995.

Description: Throwing more people at the task will not speed its completion...

[edit]No Silver Bullet: Essence and Accidents of Software Engineering

  • Brooks, Frederick. P., Jr. (April 1987). "No Silver Bullet: Essence and Accidents of Software Engineering". Computer 20 (4): 10–19.doi:10.1109/MC.1987.1663532.

Description: We will keep having problems with software...

[edit]The Cathedral and the Bazaar

  • Raymond, E.S.
  • First Monday, 3, 3 (March 1998)
  • Online copy (HTML)

Description: Open source methodology.

[edit]Design Patterns: Elements of Reusable Object Oriented Software

  • E. Gamma, R. Helm, R. Johnson, J. Vlissides
  • Addison–Wesley, Reading, Massachusetts, 1995.

Description: This book was the first to define and list design patterns in computer science.

[edit]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
  • Online version

Description: Statecharts are a visual modeling method. They are an extension of state machine that might be exponentially more efficient. Therefore, statcharts enable formal modeling of applications that were too complex before. Statecharts are part of the UML diagrams.

[edit]Theoretical computer science

Main article: List of important publications in theoretical computer science

Topics covered: theoretical computer science, including computability theory, computational complexity theory, algorithms, algorithmic information theory,information theory and formal verification.

[edit]See also

  • DBLP (Digital Bibliography & Library Project in computer science)
  • Lists of important publications in science
  • List of open problems in computer science
  • The Collection of Computer Science Bibliographies
  • Paris Kanellakis Award, a prize given to honor specific theoretical accomplishments that have had a significant and demonstrable effect on the practice of computing.

[edit]References

  1. ^ Laplante 1996, p. 150
  2. ^ Laplante 1996, p. 208
  3. ^ The rendering equation
  4. ^ Laplante 1996, p. 62
  5. a b c Pierce, Benjamin C. (2004). "Great works in programming languages". Penn Engineering.
  6. ^ http://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF
  7. ^ http://www.cs.inf.ethz.ch/~wirth/books/Pascal/
  8. ^ http://www.cs.inf.ethz.ch/~wirth/books/AlgorithmE0/
  9. ^ Google Академія
  • Laplante, Phillip, ed. (1996). Great papers in computer science. New York: IEEE Press. ISBN 0-314-06365-X.
  • Randell, Brian (ed). (1982). The Origins of Digital Computers: Selected Papers. 3rd ed. Berlin: Springer-Verlag. ISBN 0-387-11319-3.
  • Turning Points in Computing: 1962–1999, Special Issue, IBM Systems Journal, 38 (2/3),1999.
  • Yourdon, Edward (ed.) (1979) Classics in Software Engineering. New York: Yourdon Press. ISBN 0-917072-14-6

[edit]External links

  • ACM Classic Books Series
  • Most cited articles in Computer Science (CiteSeer Database)
  • 50 most influential papers ACM SIGPLAN papers published in PLDI from 1979 through 1999; organized into a special SIGPLAN proceedings.

[edit]Academic Search Engines

  • Google Scholar
  • CiteSeer
  • Live Academic
  • Odysci
  • ISI Web of Science

计算机发展史上一些重要的著作相关推荐

  1. 在计算机发展史上涌现了许多,计算机导论课程论文(2)

    计算机导论课程论文篇二 <中职计算机导论课教学改革探析> [摘要]文章首先论述了中职计算机导论课程的主要培养目标,其次指出了中职计算机导论课程现状,最后对中职计算机导论课教学改革进行了一番 ...

  2. 图灵在计算机发展的贡献,图灵在在计算机发展史上的主要贡献有哪些?

    图灵在在计算机发展史上的主要贡献有哪些? 更多相关问题 通过互联网进行网络营销活动,可以减少印刷和邮递成本,可以实现() 水能资源丰富的原因 工程承包人和劳务分包人双方按照()的计价方式,进行劳务报酬 ...

  3. 计算机发展史上代表性的人物,创新人物代表

    满意答案 2014年度最具影响力的十大"科技创新人物" 曲道奎 他带领的团队,创造了中国机器人发展史上的88项第一,研发的机器人遍布全球15个国家.2014年,他首创了40吨&qu ...

  4. 计算机发展史上代表性的人物,计算机发展史最具影响力人物

    1. 冯·诺依曼 1903-1957 开创了现代计算机理论,其体系结构沿用至今,而且他早在40年代就已预见到计算机建模和仿真技术对当代计算机将产生的意义深远的影响 2. 蒂姆·伯纳斯·李  1955- ...

  5. 计算机发展史上有杰出贡献的科学家,山东省计算机文化基础考试练习题

    √C.软件备份应取得产权人同意 D.网络上的软件可以随便复制 68. 以下描述中不正确的是____ A.家用电脑中安装盗版软件非法 B.不经允许擅自访问他人计算机资源非法C.不能给攻击自己的计算机系统 ...

  6. 计算机发展史上最著名的两位鼻祖

    图灵 图灵是当之无愧的计算机科学与人工智能之父. 甚至认为,他在技术上的贡献及对未来世界的影响几乎可与牛顿,爱因斯坦等巨人比肩. 美国计算机学会(ACM)的年度"图灵奖",自从19 ...

  7. 计算机相关名人,探寻计算机发展史上的名人足迹

    19 月亮上的足迹 课文研讨 一.整体把握 人类早就有登上月球的愿望,并因此产生了很多美丽的神话传说. 1969年7月,美国"阿波罗11号"飞船终于把人类的这一梦想变成了现实. 本 ...

  8. 计算机发展史上的趣事,历史原来这么有趣,盘点史上的逸闻趣事

    原标题:历史原来这么有趣,盘点史上的逸闻趣事 中华上下五千年,历史底蕴深厚,历史上发生过很多奇闻趣事,有些或许大家都听过,但有很多其实并不为人知,小编搜集了历史上发生过的一些奇闻趣事,你来看看你看过几 ...

  9. 关于计算机知识的趣事,最全计算机发展史

    核心提示:男人去嫖娼,就如你下馆子吃饭一样没多大区别,也没有多复杂的动机.男人自己的性欲和食欲一样,是无关感情爱情的.但几乎所有男人都明了:女人如果心甘情愿被人压在下面,这事关女人的感情.男人能把性和 ...

  10. 计算机基础第1课:计算机发展史

    第一代电子管计算机--ENIAC(The Electronic Numerical Integrator And Computer),1946年在费城公诸于世,它通过不同部分之间的重新接线编程,还拥有 ...

最新文章

  1. TCP/IP详解--第十一章
  2. 苦大仇深--写给想做产品的朋友们(二)
  3. django+mysql 配置一系列问题
  4. python列表对应元素合并为列表及判断一个列表是几维
  5. table()函数的使用,提高查询效率
  6. matlab改进 otsu法,otsu算法---matlab实现,和一种改进算法
  7. 网易交互设计师微专业C5 交互设计测试与评估
  8. dhcp select global与interface配置过程
  9. 《大数据》2022年第3期目次摘要
  10. 转速传感器隔离放大器输出信号隔离变送器正弦波转方波信号隔离器
  11. ipad上能够编辑python_10 个可以在平板电脑上使用的 Python 编辑器
  12. 霍夫斯特拉大学计算机科学专业排名,院校排名
  13. 计算机维护与维修毕业论文,计算机维修与维护毕业论文.doc
  14. JavaScript document对象
  15. python 论坛自动发帖功能
  16. MVC实现局部视图刷新
  17. 第4周项目4:程序分析(2)
  18. tkinter Canvas 实现 鼠标手绘画板 功能
  19. 汽车音响进入致臻全景声时代,丹拿瞄准了两大行业痛点
  20. Linux学习基本步骤

热门文章

  1. 空气质量等级c语言编程,华中科技大学C语言课设空气质量检测信息管理系统技术分析.docx...
  2. Executor与线程池
  3. html+css基础教程之html标题学习
  4. 计算机毕业设计(附源码)python-志愿者管理系统
  5. 《如何阅读一本书》读书笔记
  6. 【存储知识】RAID(磁盘冗余阵列)与 LVM(逻辑卷管理器)
  7. 支持iCloud的html文本编辑,人人都可用 iCloud网页版iWork完全开放
  8. Java多线程_并发协助模型(管制法,信号灯法)
  9. echart 三维可视化地图_Echarts三维坐标系
  10. win7系统如何开启蓝牙