Computer programming as an art
@article{Knuth1974ComputerPA, title={Computer programming as an art}, author={Donald Ervin Knuth}, journal={Commun. ACM}, year={1974}, volume={17}, pages={667-673} }
When Communications of the ACM began publication in 1959, the members of ACM's Editorial Board made the following remark as they described the purposes of ACM's periodicals [2]: “If computer programming is to become an important part of computer research and development, a transition of programming from an art to a disciplined science must be effected.” Such a goal has been a continually recurring theme during the ensuing years; for example, we read in 1970 of the “first steps toward…
87 Citations
Know Your Discipline: Teaching the Philosophy of Computer Science
- Computer ScienceJ. Inf. Technol. Educ.
- 2007
The increased investments in research efforts in computer science have been paralleled by the growth of the number of computing-centered fields, such as computer engineering, scientific computation, electrical engineering, decision support systems, architectural design, and software engineering.
Post's Machine: A Didactic Microworld as an Introduction to Formal Programming
- Computer ScienceEducation and Information Technologies
- 2004
A “microscopic” environment based on Emil Post's theoretical machine is developed as an introduction to formal methods of programming and in the framework of an introductory computer science course.
Beauty and computer programming
- Art, Computer ScienceINROADS
- 2012
46 acm Inroads 2012 March • Vol. 3 • No. 1 ➧2 In 1968, Donald Knuth published the first of a seven volume series of books on computer science, and surprisingly titled it The Art of Computer…
Craft tradition in the history of computer programming, 1974-2004
- Computer Science
- 2006
The majority of the debates concerning software history have made use of the term software engineering, generally because they take as a common starting point the North Atlantic Treaty Organisation (NATO) Software Engineering conference of October 1968 that first popularised the term.
Program Text, Programming Style, Programmer Labor
- Computer ScienceCultural Politics
- 2018
This article suggests that a syntactic feature common to all programming languages used today serves as a register of this logic of automation, leaving traces in code that are legible if one knows where to look.
Creativity + Computer Science
- Computer ScienceXRDS
- 2013
This chapter examines several key aspects of creativity in computer science, beginning with the question of how problems arise in computerscience and the use of analogies in solving key problems in the history of computer science.
Computing as a Science: A Survey of Competing Viewpoints
- Computer ScienceMinds and Machines
- 2011
The article argues that much of the discussion about the scientific nature of computing is misguided due to a deep conceptual uncertainty about science in general as well as computing in particular.
Difficulties teaching Java in CS1 and how we aim to solve them
- EducationITiCSE '05
- 2005
This panel focuses on CS1 difficulties and aims to address solutions to the 'Java problem'.
In the right order of brush strokes: a sketch of a software philosophy retrospective
- Computer Science, ArtSpringerPlus
- 2014
A retrospective view on computer science and software philosophy development is introduced and extended comprehension of technical sciences of programming and software engineering within the realm of liberal arts is considered.
References
SHOWING 1-10 OF 34 REFERENCES
ACM Publication Policies and Plans
- Computer ScienceJACM
- 1959
The establishment of the Communications pays tribute to the fact that the computing field is young and growing rapidly and that much information of a current and immediate nature should be made available to ACM members on a monthly basis.
Structured Programming with go to Statements
- Computer ScienceCSUR
- 1974
For serious students of structured programming, and also for language designers, Knuth's "Structured Programming with go to Statements" is probably the paper to read. It is by far the most complete…
Elements of Programming Style
- Computer Science, Education
- 1974
These notes provide guidelines for internal program documentation and style for student programmers, geared mainly for a block structured language such as Pascal or C, most of the points discussed are applicable to any programming language.
Aesthetics and the human factor in programming
- GeologyCACM
- 1972
The Luncheon Address at the 1972 Spring Joint Computer Conference was given by Professor Andrei P. Ershov, Information Division Head of the Computer Center, Siberian Division, USSR Academy of…
ALGOL 60 confidential
- Computer ScienceCACM
- 1961
In this paper some of the more obscure features of the language are considered and their usefulness is discussed, and ALGOL seems to have become too general.
Minimizing Drum Latency Time
- Computer ScienceJACM
- 1961
The most practical way discovered for minimizing latency has been to let people do the job manually with a semi-systematic procedure and to use computers for the routine phases and for checking the human output.
Formalization of Properties of Functional Programs
- Computer ScienceJACM
- 1970
An algorithm is presented for constructing first-order formulas for functional programs, i.e. programs defined by LISP-like conditional recursive expressions.
The Science of ART
- BiologyScience
- 2002
Two major advances in the ART laboratory are discussed—intracytoplasmic sperm injection and extended embryo culture before embryo transfer.
EWD316: A Short Introduction to the Art of Prof^ramming
- The Netherlands,
- 1971