[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/800253.807694acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

Research paradigms in computer science

Published: 13 October 1976 Publication History

Abstract

This paper explores the ramifications of four influential definitions of computer science:
1. Computer science is the study of phenomena related to computers, Newell, Perlis and Simon, 1967
2. Computer science is the study of algorithms, Knuth, 1968
3. Computer science is the study of information structures, Wegner, 1968, Curriculum 68
4. Computer science is the study and management of complexity, Dijkstra, 1969.
The first definition reflects an empirical tradition since it asserts that computer science is concerned with the study of a class of phenomena. The second and third definitions reflect a mathematical tradition since algorithms and information structures are two abstractions from the phenomena of computer science. The fourth definition reflects the great complexity of engineering problems encountered in managing the construction of complex software-hardware systems. It is argued in section 1 that computer science was dominated by empirical research paradigms in the 1950s, by mathematical research paradigms in the 1960s and by engineering oriented paradigms in the 1970s. Section 2 illustrates how these three phases of development are reflected in the field of programming languages.
The remaining sections consider in greater detail how empirical, mathematical and engineering research paradigms have affected the development of computer science. Section 3 indicates that although the phenomena of computer science are created by man they can be studied using the empirical techniques of the natural sciences. Section 4 distinguishes between “micro computer science” concerned with the study of individual algorithms and “macro computer science” concerned with the study of mechanisms and notations for specifying all algorithms; and between intensional “how” specifications and extensional “what” specifications for programs and computing systems. Section 5 distinguishes between the uses of the term “complexity” in software engineering and the analysis of algorithms and suggests that different terms be used to denote these two kinds of complexity. In a final section it is argued that the diversity of research paradigms in computer science may be responsible both for our difficulties in deciding how computer scientists should be trained and for divergences of opinion concerning the nature of computer science research.

References

[1]
Aho, A.V. and Ullman, J.R., The Theory of Parsing, Translation and Compiling, Prentice-Hall, Vol. 1, 1972, Vol. II, 1973.]]
[2]
Bell, C.G. and Newell, A., Computer Structures: Readings and Examples, McGraw-Hill, 1971.]]
[3]
Brooks, F.B., The Mythical Man Month, Addison-Wesley, 1975.]]
[4]
Carnap, R., Meaning and Necessity, University of Chicago Press, 1956.]]
[5]
Curriculum 68 - A Report of the ACM Curriculum Committee on Computer Science, CACM, March 1968.]]
[6]
Data Structures in Programming Languages, Proceedings of a Symposium, SIGPLAN Notices, February 1971.]]
[7]
Dijkstra, E.W., Notes on Structured Programming, in Structured Programming, Dahl, Dijkstra and Hoare, Academic Press, 1972.]]
[8]
Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, 1976.]]
[9]
Proc. International Conference on Reliable Software, April 1975.]]
[10]
Knuth, D.E., The Art of Computer Programming, Vol. I: Fundamental Algorithms (1968), Vol. II: Seminumerical Algorithms (1969), Vol. III: Sorting and Searching (1973), Vols. IV-VII to be published, Addison-Wesley.]]
[11]
Knuth, D.E., Computer Science and its Relation to Mathematics, American Mathematical Monthly, 1973.]]
[12]
Knuth, D.E., Mathematical Analysis of Algorithms, Proc. IFIP 1971, North-Holland, 1972.]]
[13]
Kuhn, T.S., The Structure of Scientific Revolutions, University of Chicago Press, 1970.]]
[14]
Manna, Z., Mathematical Theory of Computation, McGraw-Hill, 1974.]]
[15]
Newell, A., Perlis, A.J. and Simon, H.A., Computer Science, Science 157: 1373-74, 1967.]]
[16]
Ross, D.T., Plex 1: Semantics and the Need for Rigor, Softech Report, Dec. 1975.]]
[17]
Sammet, J., Programming Languages: History and Fundamentals, Prentice-Hall, 1968.]]
[18]
Shannon, C.E. and Weaver, W., The Mathematical Theory of Communication, University of Illinois Press, 1962.]]
[19]
Strassen, V. Gaussian Elimination is not Optimal, Numerische Mathematik, Vol. 13, 354-356, 1969.]]
[20]
Standish, T.A., Data Structures - an Axiomatic Approach, Computer Science Dept., Univ. of Calif., Irvine, May 1976.]]
[21]
Wegner, Peter, Three Computer Cultures, Computer Technology, Computer Mathematics and Computer Science, in Advances in Computers Vol. 10, Academic Press, 1971.]]
[22]
Wegner, Peter, Programming Languages, Information Structures and Machine Organization, McGraw-Hill, 1968.]]
[23]
Wegner, Peter, Abstraction - a Tool for the Management of Complexity? Proc. 4th Texas Conference on Computing, Nov. 1975.]]

Cited By

View all
  • (2022)What We Talk About When We Talk About ProgramsProceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3571785.3574125(117-164)Online publication date: 27-Dec-2022
  • (2022)Characterizing the Nature of Programs for educational purposesProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 210.1145/3502717.3532173(572-573)Online publication date: 7-Jul-2022
  • (2021)Reproducibility in Evolutionary ComputationACM Transactions on Evolutionary Learning and Optimization10.1145/34666241:4(1-21)Online publication date: 13-Oct-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '76: Proceedings of the 2nd international conference on Software engineering
October 1976
639 pages

Sponsors

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 13 October 1976

Check for updates

Author Tags

  1. Abstraction
  2. Analysis of algorithms
  3. Complexity
  4. Computer science
  5. Empirical method
  6. Methodology
  7. Paradigms
  8. Philosophy
  9. Programming languages
  10. Research
  11. Software engineering

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)99
  • Downloads (Last 6 weeks)7
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)What We Talk About When We Talk About ProgramsProceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3571785.3574125(117-164)Online publication date: 27-Dec-2022
  • (2022)Characterizing the Nature of Programs for educational purposesProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 210.1145/3502717.3532173(572-573)Online publication date: 7-Jul-2022
  • (2021)Reproducibility in Evolutionary ComputationACM Transactions on Evolutionary Learning and Optimization10.1145/34666241:4(1-21)Online publication date: 13-Oct-2021
  • (2021)Replicability and reproducibility in evolutionary optimizationProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3449726.3461405(454-462)Online publication date: 7-Jul-2021
  • (2010)ICT4DAlgorithms and Applications10.5555/2167962.2167978(221-231)Online publication date: 1-Jan-2010
  • (2007)Three Paradigms of Computer ScienceMinds and Machines10.1007/s11023-007-9060-817:2(135-167)Online publication date: 1-Jul-2007
  • (2006)What should be automated?Proceedings of the 1st ACM international workshop on Human-centered multimedia10.1145/1178745.1178753(19-24)Online publication date: 27-Oct-2006
  • (2005)Availability simulation of peer-to-peer architectural stylesProceedings of the 2005 workshop on Architecting dependable systems10.1145/1083217.1083230(1-6)Online publication date: 17-May-2005
  • (2005)Availability simulation of peer-to-peer architectural stylesACM SIGSOFT Software Engineering Notes10.1145/1082983.108323030:4(1-6)Online publication date: 17-May-2005

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media