skip to main content
article
Free Access

Essential C++

Published:01 June 1996Publication History
Skip Abstract Section

Abstract

C++ is rapidly becoming one of the most important programming languages in the world. Yet it is an extremely complex language and, therefore, one that is very difficult to learn. To provide a significant degree of simplification and, thereby, to help alleviate the difficulties of learning the language, a relatively small C++ subset, Essential C++, has been defined. It is proposed for use by the computer science academic community as a suitable first programming language for students as well as for use by other individuals who desire eventually to become software developers using the full C++ language.After supporting the case for the need of a C++ subset and discussing the reasons for developing one, this article presents Essential C++, provides the rationale for selecting its particular constituents from the full C++ language, and then examines the advantages and disadvantages of using Essential C++.

References

  1. 1. Abelson, Hal, Kim Bruce, Andy van Dam, Brian Harvey, Allen Tucker, and Peter Wegner, in "Technical Opinion: The First Course Conundrum," Communications of the ACM, Vol. 38, No. 6, June, 1995, pp. 116-117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2. Accredited Standards Committee X3 operating under the procedures of the American National Standards Institute (ANSI), "Working Paper for Draft Proposed International Standard for Information Systems--Programming Language C++," Doc. No. X3J16/95-0087 WG21/N0687, 28 April, 1995.Google ScholarGoogle Scholar
  3. 3. ANSI Technical Committee X3J11. American National Standard for Information Systems-- Programming Language C, ANSI 3.159-1989. American National Standards Institute, New York, 1989. (The official current version of standard C.)Google ScholarGoogle Scholar
  4. 4. Allison, Chuck, "A Better C," C/C++ Users Journal, April, 1995, pp. 67-78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5. Baldwin, Doug, Greg Scragg, and Hans Koomen, "A Three-Fold Introduction to Computer Science," SIGCSE Bulletin, March, 1994, pp. 290-294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6. Barton, John J., and Lee R. Nackman, "Scientific & Engineering Programming in C++," C++ Report, vol. 5, no. 7, September, 1993, pp. 26-31.Google ScholarGoogle Scholar
  7. 7. Berman, A. Michael, and other Panelists Rick Decker, Dung X. Nguyen, Richard J. Reid, and Eugene Wallingford, "Using C++ in CS1/CS2," SIGCSE Bulletin, March, 1994, pp. 383-384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8. Booch, Grady., Object-Oriented Analysis and Design with Applications, Second Edition. The Benjamin-Cummings Publishing Company, Inc., 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9. Buzzi-Ferraris, Guido, Scientific C++, Addison-Wesley Publishing Company, 1993.Google ScholarGoogle Scholar
  10. 10. Chandra, Kailash, "C++ in Eight Weeks," ACM SIGPLAN Notices, Vol. 28, No. 8, August, 1993, pp. 29-38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11. Clamage, Steve, "Status of ANSI/ISO C++ Standard," a comp.std.c++ newsgroup posting #7383 dated 17 July 1995 16:54:39 GMT. Clamage is Acting Chair, ANSI X3J16.Google ScholarGoogle Scholar
  12. 12. Engle, Charles B., "An Educator's Perspective on Ada," AdaIC News, Vol. XII, No. 1, Winter, 1995, pp. 1 and 4.Google ScholarGoogle Scholar
  13. 13. Finkel, David, Chet Hooker, Scott Salvidio, Mark Sullivan, and Christopher Thomas, "Teaching C++ to High School Students," SIGCSE Bulletin, March, 1994, pp. 286-289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14. Friedman, Richard P., "Creating Creating," C++ Report, vol. 5, no. 4, May, 1993, p. 4.Google ScholarGoogle Scholar
  15. 15. Grout, Jarrell C., and Robert G. Strader, Algorithmic Problem Solving and Programming with Essential C++, in progress, publisher and publication date to be determined.Google ScholarGoogle Scholar
  16. 16. Horowitz, Susan, Kenneth Appel, Theresa Cuprak, David Kay, Christopher Nevison, Leon Schram, Mark Stehlik, and Owen Astrachan, in "Technical Opinion: The First Course Conundrum, Why Change?," Communications of the ACM, Vol. 38, No. 6, June, 1995, pp. 117- 118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17. Horstmann, Cay S., "A Strategic C++ Subset for CS1 Instruction," Input: A Newsletter for Computer Science Educators, Number 1, Fall, 1994, pp. 6-7.Google ScholarGoogle Scholar
  18. 18. Jagadeesh, J. M., (Product Reviews Editor), "C++ Class Libraries: Part I," Computer, July, 1995, pp. 83-87.Google ScholarGoogle Scholar
  19. 19. Jervis, Bob, "All is Flux," C/C++ Users Journal, October, 1994, pp. 39-49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20. Johnson, L. F., "C in the First Course Considered Harmful," Communications of the ACM, Vol. 38, No. 5, May, 1995, pp. 99-101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21. Johnsonbaugh, Richard, and Martin Kalin, Object-Oriented Programming in C++, Prentice-Hall, Inc., 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22. Keffer, Thomas, "Why C++ Will Replace Fortran," Supplement to Dr. Dobb's Journal, December, 1992, pp. 39s-47s.Google ScholarGoogle Scholar
  23. 23. Koffman, Elliot B., Philip L. Miller, Caroline Wardle, "Recommended Curriculum for CS1, 1984: A Report of the ACM Curriculum Committee Task Force for CS1," Communications of the ACM, Vol. 27, No. 10, October, 1984, pp. 998-1001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24. Mody, R. P., "C in Education and Software Engineering", SIGCSE Bulletin, vol. 23, no. 3, Sept., 1991, pp. 45-46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25. Morton, Larry, and Nicholas Norgaard, "A Survey of Programming Languages in CS Programs," SIGCSE Bulletin, vol. 25, no. 2, June, 1993, pp. 9-18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26. Owens, Barbara B., Moderator, and Panelists Robert D. Cupper, Stuart Hirshfield, Walter Potter, and Richard Salter, "New Models for the CS1 Course: What Are They and Are They Leading to the Same Place?" SIGCSE Bulletin, March, 1994, pp. 364-384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27. Reid, Richard J., "C++ as a First Programming Language," C++ Report, vol. 5, no. 4, May, 1993, pp. 41-44.Google ScholarGoogle Scholar
  28. 28. Reid, Richard J., "The Programming Language of the First Computer Science Course," unpublished informal and on-going survey conducted over the Internet, April 11, 1995.Google ScholarGoogle Scholar
  29. 29. Sebesta, Robert W., Concepts of Programming Languages, Second Edition, Benjamin/Cummings Publishing Co., Inc., 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30. Stroustrup, Bjarne, The C++ Programming Language, Addison-Wesley Publighing Company, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 31. Stroustrup, Bjarne, The C++ Programming Language, Second Edition, Addison-Wesley Publishing Company, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 32. Task Force of the Pre-College Committee of the Education Board of the ACM, "ACM Model High School Computer Science Curriculum," Communications of the ACM, Vol. 36, No. 3, May, 1993, pp. 87-90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33. The College Board, Advanced Placement Course Description: Computer Science, May 1996," College Entrance Examination Board and Educational Testing Service, 1995.Google ScholarGoogle Scholar
  34. 34. Tucker, Allen B. and Bruce H. Barnes, "Flexible Design: Computing Curricula 1991," Computer, November, 1991, pp. 56-66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35. Tucker, Allen B. (Editor and Co-Chair), et al, "Computing Curricula 1991" Report of the ACM/IEEE-CS Joint Curriculum Task Force," ACM Order Number 201910, IEEE Computer Society Press Order Number 2220, Copyright © 1991 by the Association for Computing Machinery, Inc.Google ScholarGoogle Scholar
  36. 36. Tucker, Allen B., Andrew P. Bernat, W. James Bradley, Robert D. Cupper, and Greg W. Scragg, Fundamentals of Computing I: Logic, Problem Solving, Programs, and Computers--C++ Edition, McGraw-Hill, Inc., 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37. Tucker, Allen B. and Peter Wegner, "New Directions in the Introductory Computer Science Curriculum," SIGCSE Bulletin, March, 1994, pp. 11-15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38. Vilot, Michael J., "An Introduction to the Standard Template Library," C++ Report, October, 1994, pp. 22-28.Google ScholarGoogle Scholar
  39. 39. Vilot, Michael J., "The C++ Standard Library," C++ Report, February, 1995, pp. 28-34. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Essential C++

      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 28, Issue 2
        June 1996
        65 pages
        ISSN:0097-8418
        DOI:10.1145/228296
        Issue’s Table of Contents

        Copyright © 1996 Copyright is held by the owner/author(s)

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 June 1996

        Check for updates

        Qualifiers

        • article
      • Article Metrics

        • Downloads (Last 12 months)45
        • Downloads (Last 6 weeks)6

        Other Metrics

      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!