skip to main content
10.1145/2676723.2677245acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

A Framework for Teaching Programming Languages

Published: 24 February 2015 Publication History

Abstract

This paper provides a description of a framework for programming language implementation that is accessible to students in a one semester course focused on programming languages. Rather than concentrating solely on language features, this paper describes a framework where imperative, functional, and logic programming languages are all used to develop a compiler for a non-trivial subset of a functional programming language. Provided by the framework are a virtual machine, a disassember of Python programs, a partial implementation of a Standard ML compiler with suggested tests, and a partial implementation of a type inference system implemented using Prolog, again with suggested tests. Classroom experience gained while using this framework is also shared. A suggested fourteen week sequence is provided. Real reactions from students and reflections on coverage of the ACM 2013 Curricula guildelines conclude the paper.

References

[1]
S. Krishnamurthi. Programming Languages: Application and Interpretation. Shriram Krishnamurthi, 2012.
[2]
K. D. Lee. Foundations of Programming Languages. Springer, 2015.
[3]
M. L. Scott. Programming Language Pragmatics. Morgan Kaufmann, 2009.
[4]
P. Sestoft. Programming Language Concepts. Springer, 2012.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '15: Proceedings of the 46th ACM Technical Symposium on Computer Science Education
February 2015
766 pages
ISBN:9781450329668
DOI:10.1145/2676723
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 the author(s) 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: 24 February 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compilers
  2. programming languages
  3. type checking
  4. type inference
  5. virtual machines

Qualifiers

  • Research-article

Conference

SIGCSE '15
Sponsor:

Acceptance Rates

SIGCSE '15 Paper Acceptance Rate 105 of 289 submissions, 36%;
Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)4
Reflects downloads up to 05 Feb 2025

Other Metrics

Citations

Cited By

View all

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