skip to main content
article

A first course in computer science: What it should be and why.

Published:01 January 1975Publication History
Skip Abstract Section

Abstract

We feel that for a long time introductory computer science courses have degenerated into courses more appropriately titled “Introduction to the Programming Language X” where X has historically been FORTRAN or BASIC and more recently PL/I or APL. In this paper we propose an introductory course which first, and foremost, teaches problem-solving methodology with the final stage of it being translation of an algorithm into a well-structured program. And, second, it achieves this in conjunction with an introduction to the major areas of computer science.

References

  1. 1 Dahl, O.J., E.W. Dijkstra, and C.A.R. Hoare. Structured Programming. Academic Press, New York, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Gries, D. What Should we Teach in our Introductory Programming Course. SIGCSE Bulletin, Vol. 6, No. 1, Feb. 1974, pp. 81-89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Maly, K. and Hanson A., Fundamentals of Algorithms and Languages. CICS, University of Minnesota, Minneapolis, Minnesota, 1974.Google ScholarGoogle Scholar
  4. 4 Maly, K. and Hanson, A., Introduction to Non-numeric Programming. CICS, University of Minnesota, Minnespolis, Minnesota, 1973.Google ScholarGoogle Scholar
  5. 5 Wirth, N. Systematic Programming: An Introduction. Prentice Hall, Englewood Cliffs, New Jersey, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Arden, B.W. An Introduction to Digital Computing. Addison-Wesley, Reading, Mass., 1963, 389 pp. CR-6345-4551. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 6.1 This text uses MAD and emphasizes the solution of numerical problems, although other types of problems are discussed. Numerous examples and exercises.Google ScholarGoogle Scholar
  8. 7 Forte, A. SNOBOL3 Primer. M.I.T. Press, Cambridge, Mass., 1967, 107 pp.Google ScholarGoogle Scholar
  9. 7.1 An elementary exposition of SNOBOL3 which might well be used to introduce a "second" language. Many exercises and examples. (SNOBOL4 is now becoming available.)Google ScholarGoogle Scholar
  10. 8 Galler, B.A. The Language of Computers. McGraw-Hill, New York, 1962, 244 pp. CR-6341-3574. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 8.1 Emphasizes "discovering" the structure of algorithms needed for the solution of a varied set of problems. The computer language features necessary to express these algorithms are carefully motivated. The language introduced is primarily based on MAD, but FORTRAN and ALGOL are also discussed.Google ScholarGoogle Scholar
  12. 9 Gruenberger, F. The teaching of computing (Guest editorial). Comm. ACM 8,6 (June 1965), 348 and 410. CR-6565-8074.Google ScholarGoogle Scholar
  13. 9.1 Conveys eloquently the philosophy which should be used in developing and teaching an introductory computing course.Google ScholarGoogle Scholar
  14. 10 Gruenberger, F. and Jaffray, G. Problems for Computer Solution. Wiley, New York, 1965, 401 pp. CR-6671-8757.Google ScholarGoogle Scholar
  15. 10.1 Contains a collection of problems appropriate for computer solution by students. Student is guided into the analysis of the problems and the development of good computational solutions, but actual computer programs for the solutions are not given.Google ScholarGoogle Scholar
  16. 11 Hull, T.E. Introduction to Computing. Prentice-Hall, Englewood Cliffs, N.J., 1966, 212 pp.Google ScholarGoogle Scholar
  17. 11.1 Text on fundamentals of algorithms, basic features of stored-program computers, and techniques involved in implementing algorithms on computers. Presents a complete description of FORTRAN IV with examples of numerical methods, nonnumerical applications, and simulations. Numerous exercises.Google ScholarGoogle Scholar
  18. 12 Marcovitz, A.B. and Schweppe, E.J. An Introduction to Algorithmic Methods Using the MAD Language. Macmillan, New York, 1966, 433 pp. CR-6781-11,199.Google ScholarGoogle Scholar
  19. 12.1 Emphasizes algorithms and their expression as programs, characteristics of computers and computer systems, formal definition of computer languages, and accuracy and efficiency of programs. Numerous examples and exercises.Google ScholarGoogle Scholar
  20. 13 Perlis, A.J. Programming for digital computers. Comm. ACM 7, 4 (Apr. 1964), 210-211 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 13.1 Description of course developed by Perlis at Carnegie Institute of Technology which has strongly influenced the course proposed here.Google ScholarGoogle Scholar
  22. 14 Rice, J. K. and Rice, J.R. Introduction to Computer Science: Problems, Algorithms, Languages and Information, Preliminary edition. Holt, Rinehart and Winston, New York, 1967, 452 pp.Google ScholarGoogle Scholar
  23. 14.1 Presentation revolves around the theme of "problem solving," emphasizing algorithms, languages, information representations, and machines necessary to solve problems. Problem solution methods classified, and many sample problems included. The nature of errors and uncertainty is considered. Detailed appendix on FORTRAN IV by E. Desautels.Google ScholarGoogle Scholar
  24. 15 School Mathematics Study Group. Algorithms, Computation and Mathematics, rev. ed. Stanford University, Stanford, California, 1966. Student Text, 453 pp., Teacher's Commentary 301 pp.; Algol Supplement: Student Text, 133 pp., Teacher's Commentary, 109 pp.; Fortran Supplement: Student Text, 132 pp., Teacher's Commentary, 102 pp. Available from A. C. Vroman, Inc., 367 South Pasadena, Pasadena, California. A MAD Language Supplement by E. I. Organick is available from Ulrich's Book Store, 549 E. University Avenue, Ann Arbor, Mich.Google ScholarGoogle Scholar
  25. 15.1 Although developed for high school students and teachers, this work contains much material appropriate for this course. Develops an understanding of the relationship between mathematics, computing, and problem solving. Basic text uses English and flow charts to describe algorithms; supplements introduce the computer language and give these algorithms in ALGOL, FORTRAN, and MAD.Google ScholarGoogle Scholar

Index Terms

  1. A first course in computer science: What it should be and why.

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGCSE Bulletin
        ACM SIGCSE Bulletin  Volume 7, Issue 1
        Proceedings of the 5th SIGCSE symposium on Computer science education
        February 1975
        209 pages
        ISSN:0097-8418
        DOI:10.1145/953064
        Issue’s Table of Contents
        • cover image ACM Conferences
          SIGCSE '75: Proceedings of the fifth SIGCSE technical symposium on Computer science education
          January 1975
          221 pages
          ISBN:9781450373982
          DOI:10.1145/800284

        Copyright © 1975 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 January 1975

        Check for updates

        Qualifiers

        • article