skip to main content
article
Free Access

A three paradigm first course for CS majors

Authors Info & Claims
Published:15 March 1995Publication History
Skip Abstract Section

Abstract

This paper presents a curriculum designed for a two semester foundation course for Computer Science majors. Our course distributes the widely accepted basic toolbox of algorithms and data structures over functional, logic and imperative programming. In this way the programming paradigm becomes a problem solving tool instead of a monolingual impediment to a wider view of problem solving patterns. A strong laboratory component is essential for the success of this approach.

References

  1. 1 Lambert T., Lindsay P., Robinson K., "Using Miranda as a First Programming Language" Jr. Functional Programming Vol. 3, #1, p.5-34 (1993)Google ScholarGoogle Scholar
  2. 2 Broda K., Eisenbad S., Khoshnevisan H., Vickers S., "Reasoned Programming", Lecture Notes Dept. of Comp. Sci., Imperial College, London, England (1993) Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Abelson H., Sussman G. J., "Structure and Interpretation of Computer Programs", MIT Press (1985) Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Harvey B., Wright M., "Simply Scheme"' MIT Press (1994)Google ScholarGoogle Scholar
  5. 5 Gries D., Schneider E B., "A Logical Approach to Discrete Math", Springer Verlag, New York, (1993) Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Aho A. V., UUman J. D., "Foundations of Computer Science" Computer Science Press, NY, (1992) Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 van de Snepscheut J. L. A., "What Computing is All About", Springer Verlag, New York, (1993) Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Clocksin W. F., Mellish C. S., "programming in Prolog", Third Ed., Springer Verlag, New York, (1987) Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Hill P. M., Lloyd J. W., "The Goedel Programming Language", MIT Press (1994) Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Austing R. (Ed.), "Curriculum 78", CommACM, Vo122, #3, p.147-166 (1979)Google ScholarGoogle Scholar
  11. 11 Joosten S., van den Berg K., van der Hoeven G., "Teaching Functional Programming to First-Year Students", J. Functional Programming, Vol 3, #1, p. 49-65 (1993)Google ScholarGoogle ScholarCross RefCross Ref
  12. 12 reinfelds J., "1994 Outline for Three Paradigm First Course", NMSU CS Dept Technical Report (1994)Google ScholarGoogle Scholar

Index Terms

  1. A three paradigm first course for CS majors

          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 27, Issue 1
            March 1995
            402 pages
            ISSN:0097-8418
            DOI:10.1145/199691
            Issue’s Table of Contents
            • cover image ACM Conferences
              SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
              March 1995
              436 pages
              ISBN:089791693X
              DOI:10.1145/199688
              • Chairman:
              • Cary Laxer,
              • Editors:
              • Curt M. White,
              • James E. Miller,
              • Judy Gersting

            Copyright © 1995 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 15 March 1995

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!