skip to main content
research-article

Programming languages as part of core computer science

Published:30 November 2008Publication History
Skip Abstract Section

Abstract

While the programming languages course played a key role in Curricula '68, '78, and '91, Curriculum 2001 replaced most of the content in programming languages with sections on learning to program. We argue that the need for a programming languages course has not diminished, but instead increased, especially as we move into an era of many-core computing.

References

  1. Eric Allen, David Chase, Joe Hallett, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, Jr. Guy L. Steele, and Sam Tobin-Hochstadt. The Fortress Language Specification 1.0. Sun Microsystems, 2008.Google ScholarGoogle Scholar
  2. Ali-Reza Adl-Tabatabai, Christos Kozyrakis, and Bratin Saha. Unlocking concurrency. Queue, 4(10):24--33, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Nick Benton, Luca Cardelli, and Cédric Fournet. Modern concurrency abstractions for C#. ACM Trans. Program. Lang. Syst., 26(5):769--804, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler. Making the future safe for the past: Adding genericity to the Java programming language. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, October 1998. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Kim B. Bruce. Curriculum 2001 draft found lacking in programming languages. SIGPLAN Not., 35(4):26--28, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273--280, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bradford L. Chamberlain, David Callahan, and Hans P. Zima. Parallel programmability and the Chapel language. International Journal of High Performance Computing Applications, 21:291--312, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 519--538, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Liberal Arts Computer Science Consortium. A 2007 model curriculum for a liberal arts degree in computer science. J. Educ. Resour. Comput., 7(2):2, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471--522, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. CC2001 Joint Task Force. Computing Curricula 2001: Computer Science. December 15, 2001. Available online at http://www.acm.org/sigcse/cc2001/.Google ScholarGoogle Scholar
  12. Simon Peyton Jones. Beautiful concurrency. In Greg Wilson, editor, Beautiful code. O'Reilly, 2007.Google ScholarGoogle Scholar
  13. Andrew Kennedy and Don Syme. Design and implementation of generics for the .NET Common Language Runtime. In Proceedings of the ACM Conference on Programming Language Design and Implementation, pages 1--12, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Liskov, A. Snyder, R. Atkinson, and C. Schaffert. Abstraction mechanisms in CLU. Comm. ACM, 20:564--576, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jeremy Manson, William Pugh, and Sarita V. Adve. The Java memory model. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 378--391, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Andrew C. Myers. JFlow: Practical mostly-static information flow control. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 228--241, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. US Dept. of Defense. Reference Manual for the Ada Programming Language. GPO 008-000-00354-8, 1980.Google ScholarGoogle Scholar
  18. Larry Wall, Tom Christiansen, and Jon Orwant. Programming Perl. O'Reilly & Associates, Inc., 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Dan S. Wallach and Edward W. Felten. Understanding Java stack inspection. In Proceedings of IEEE Symposium on Security and Privacy, 1998.Google ScholarGoogle Scholar

Index Terms

  1. Programming languages as part of core computer science

        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 SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 43, Issue 11
          November 2008
          137 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1480828
          Issue’s Table of Contents

          Copyright © 2008 Authors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 30 November 2008

          Check for updates

          Qualifiers

          • research-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!