[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1639950.1639963acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

A different kind of programming languages course

Published: 25 October 2009 Publication History

Abstract

The complexity of the well-explored regions of the programming language design space has increased substantially in the last twenty-five years with the addition of a large number of object-oriented programming languages (OOPLs). This design domain was already known to be large and complex before OOPLs came on the scene, and many offerings of the standard programming languages course before that time did not even mention the object-oriented programming (OOP) paradigm. Now that OOP has become mainstream, undergraduate programs which include a course on programming language design and implementation have responded by expanding their existing course or by jettisoning some of the alternative ideas in favor of expanded coverage of OOPLs. There are two facts, however, which must be confronted as we consider what information we would like to pass on to our students in this fascinating area of our discipline. The first is that the design space represented by OOPLs is large enough to justify a separate course, and the second is that a large number of ideas from other language paradigms appear in subsets of well-known languages for OOP. This paper presents a course in the design and implementation of programming languages that (as OOP itself did in the late eighties) turns some accepted notions "inside out" by proposing that the entire course be presented from the OOP point of view. Such a course has been offered by Grove City College for a decade and has matured into a very effective means of communicating essential programming language design and implementation ideas to our students. The course could be offered as the only advanced course in the area, as one course in a two-semester sequence, or as an alternative to the traditional course.

References

[1]
Backus, J. 1978. Can Programming be Liberated from the Von Newmann Style? Communications of the ACM 21, 8 (August 1978), 613--641.
[2]
Barnes, J. G. P. An overview of Ada. 1980. Software Practice and Experience 10, 11 (November 1980), 851--887.
[3]
ECMA International. 2006. C# Language Specification. 4th Edition. DOI = http://www.ecma--international.org/publications/files/ECMA-ST/Ecma-334.pdf
[4]
Goldberg, Adele and Robson, David. 1989. Smalltalk-80: The Language. Addison-Wesley.
[5]
Gosling, J, Bill Joy, et al. 2000. The Java Language Specification. 2nd Edition. Sun Microsystems. DOI= http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html.
[6]
Kowalski, Robert. 1979. Algorithm = Logic+Control. Communications of the ACM 22, 7 (July 1979), 424--436.
[7]
McCarthy, J. 1960. Recursive Functions of Symbolic Expressions. Communications of the ACM 3, 4 (April 1960), 184--195.
[8]
Paul, Robert J. 1984. An introduction to Modula 2, BYTE Magazine 9, 8 (August 1984), 195--202.
[9]
Pratt, Terrence. 1975. Programming Languages: Design and Implementation. 1st Edition. Prentice-Hall.
[10]
Stroustrup, B. 2000. The C++ Programming Language: Special Edition. Pearson.

Cited By

View all
  • (2013)Exploring the Educational Benefits of Introducing Aspect-Oriented Programming Into a Programming CourseIEEE Transactions on Education10.1109/TE.2012.220911956:2(217-226)Online publication date: 1-May-2013

Index Terms

  1. A different kind of programming languages course

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
    October 2009
    502 pages
    ISBN:9781605587684
    DOI:10.1145/1639950
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 October 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. C#
    2. C++
    3. Java
    4. design
    5. education
    6. event-driven
    7. implementation
    8. languages
    9. object-oriented
    10. simula
    11. smalltalk

    Qualifiers

    • Research-article

    Conference

    OOPSLA09
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)Exploring the Educational Benefits of Introducing Aspect-Oriented Programming Into a Programming CourseIEEE Transactions on Education10.1109/TE.2012.220911956:2(217-226)Online publication date: 1-May-2013

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media