Notes for Donald E. Knuth Selected Papers on Computer Science
Key concepts: algorithm, computation, data, information, program.
Related theorists: .
Preface
Chapter
0
Algorithms, Programs, and Computer Science
1. Algorithm and
Program; Information and Data
Definitions of algorithm abstract method for computing input from output, program embodiment of computational method in some language, computation as information processing; information and data likewise distinguished as abstract and qualified.
(1)
To me the word algorithm
denotes an abstract method for computing some output from some input,
while a program
is an embodiment of a computational method in some language.
(1)
By “computation” I mean essentially the same thing as what many
people nowadays call “data processing,” “symbol manipulation,”
or more generally “information processing.”
(1) There seems to
be confusion between the words information
and data
much like that between algorithm
and program.
2. Computer Programming and Computer Science
Statements of computer program and algorithm; evaluation of programs based on quickness of machine performance and clearness of understanding by humans.
(2) A computer program is a representation of an algorithm in some well-defined language. Algorithms are abstract computational procedures for transforming information; programs are their concrete embodiments.
Discipline of computer science deals with complex phenomena surrounding computers, answering question what can be automated.
(3)
Computer programming and the analysis of algorithms are, in turn,
subfields of a considerably larger discipline called computer
science, which deals with all of the complex phenomena surrounding
computers.
(3) Computer science answers the question “What can
be automated?”
Knuth, Donald E. Selected Papers on Computer Science. Leland Stanford Junior University: Center for the Study of Language and Information, 1996. Print.