skip to main content
research-article

Programming languages as part of core computer science

Published: 30 November 2008 Publication History

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.
[2]
Ali-Reza Adl-Tabatabai, Christos Kozyrakis, and Bratin Saha. Unlocking concurrency. Queue, 4(10):24--33, 2007.
[3]
Nick Benton, Luca Cardelli, and Cédric Fournet. Modern concurrency abstractions for C#. ACM Trans. Program. Lang. Syst., 26(5):769--804, 2004.
[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.
[5]
Kim B. Bruce. Curriculum 2001 draft found lacking in programming languages. SIGPLAN Not., 35(4):26--28, 2000.
[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.
[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.
[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.
[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.
[10]
L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471--522, 1985.
[11]
CC2001 Joint Task Force. Computing Curricula 2001: Computer Science. December 15, 2001. Available online at http://www.acm.org/sigcse/cc2001/.
[12]
Simon Peyton Jones. Beautiful concurrency. In Greg Wilson, editor, Beautiful code. O'Reilly, 2007.
[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.
[14]
B. Liskov, A. Snyder, R. Atkinson, and C. Schaffert. Abstraction mechanisms in CLU. Comm. ACM, 20:564--576, 1977.
[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.
[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.
[17]
US Dept. of Defense. Reference Manual for the Ada Programming Language. GPO 008-000-00354-8, 1980.
[18]
Larry Wall, Tom Christiansen, and Jon Orwant. Programming Perl. O'Reilly & Associates, Inc., 2000.
[19]
Dan S. Wallach and Edward W. Felten. Understanding Java stack inspection. In Proceedings of IEEE Symposium on Security and Privacy, 1998.

Cited By

View all
  • (2021)Scratch-based learning objects for novice programmers: exploring quality aspects and perceptions for primary educationInteractive Learning Environments10.1080/10494820.2021.195654631:7(4219-4234)Online publication date: 29-Jul-2021
  • (2010)Strategies for preparing computer science students for the multicore worldProceedings of the 2010 ITiCSE working group reports10.1145/1971681.1971689(97-115)Online publication date: 28-Jun-2010

Recommendations

Comments

Information & Contributors

Information

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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 November 2008
Published in SIGPLAN Volume 43, Issue 11

Check for updates

Author Tag

  1. programming languages curriculum

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Scratch-based learning objects for novice programmers: exploring quality aspects and perceptions for primary educationInteractive Learning Environments10.1080/10494820.2021.195654631:7(4219-4234)Online publication date: 29-Jul-2021
  • (2010)Strategies for preparing computer science students for the multicore worldProceedings of the 2010 ITiCSE working group reports10.1145/1971681.1971689(97-115)Online publication date: 28-Jun-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media