Drscheme: A pedagogic programming environment for scheme

Robert Bruce Findler, Cormac Flanagan, Matthew Flatt, Shriram Krishnamurthi, Matthias Felleisen

Research output: Chapter in Book/Report/Conference proceedingConference contribution

47 Scopus citations

Abstract

Teaching introductory computing courses with Scheme elevates the intellectual level of the course and thus makes the subject more appealing to students with scientific interests. Unfortunately, the poor quality of the available programming environments negates many of the pedagogic advantages. To overcome this problem, we have developed DrScheme, a comprehensive programming environment for Scheme. It fully integrates a graphics-enriched editor, a multi-lingual parser that can process a hierarchy of syntactically restrictive variants of Scheme, a functional read-eval-print loop, and an algebraically sensible printer. The environment catches the typical syntactic mistakes of beginners and pinpoints the exact source location of run-time exceptions. DrScheme also provides an algebraic stepper, a syntax checker and a static debugger. The first reduces Scheme programs, including programs with assignment and control effects, to values (and effects). The tool is useful for explaining the semantics of linguistic facilities and for studying the behavior of small programs. The syntax checker annotates programs with font and color changes based on the syntactic structure of the program. It also draws arrows on demand that point from bound to binding occurrences of identifiers. The static debugger, roughly speaking, provides a type inference system with explanatory capabilities. Preliminary experience with the environment shows that Rice University students find it helpful and that they greatly prefer it to shell- or Emacs-based systems.

Original languageEnglish (US)
Title of host publicationProgramming Languages
Subtitle of host publicationImplementations, Logics, and Programs - 9th International Symposium on Programming Languages, PLILP 1997, Including a Special Track on Declarative Programming Languages in Education, Proceedings
EditorsHugh Glaser, Pieter Hartel, Herbert Kuchen
PublisherSpringer Verlag
Pages369-388
Number of pages20
ISBN (Electronic)9783540633983
DOIs
StatePublished - Jan 1 1997
Event9th International Symposium on Programming Languages: Implementations, Logics, and Programs, PLILP 1997, Including a Special Track on Declarative Programming Languages in Education - Southampton, United Kingdom
Duration: Sep 3 1997Sep 5 1997

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume1292
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other9th International Symposium on Programming Languages: Implementations, Logics, and Programs, PLILP 1997, Including a Special Track on Declarative Programming Languages in Education
CountryUnited Kingdom
CitySouthampton
Period9/3/979/5/97

Keywords

  • Algebraic evaluation
  • Pedagogy
  • Programming
  • Programming Environments
  • Scheme
  • Static debugging. Teaching programming to beginning students

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Drscheme: A pedagogic programming environment for scheme'. Together they form a unique fingerprint.

Cite this