TY - GEN
T1 - Drscheme
T2 - 9th International Symposium on Programming Languages: Implementations, Logics, and Programs, PLILP 1997, Including a Special Track on Declarative Programming Languages in Education
AU - Findler, Robert Bruce
AU - Flanagan, Cormac
AU - Flatt, Matthew
AU - Krishnamurthi, Shriram
AU - Felleisen, Matthias
N1 - Publisher Copyright:
© Springer International Publishing AG, Part of Springer Science+Business Media.
PY - 1997
Y1 - 1997
N2 - 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.
AB - 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.
KW - Algebraic evaluation
KW - Pedagogy
KW - Programming
KW - Programming Environments
KW - Scheme
KW - Static debugging. Teaching programming to beginning students
UR - http://www.scopus.com/inward/record.url?scp=84876654137&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84876654137&partnerID=8YFLogxK
U2 - 10.1007/bfb0033856
DO - 10.1007/bfb0033856
M3 - Conference contribution
AN - SCOPUS:84876654137
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 369
EP - 388
BT - Programming Languages
A2 - Glaser, Hugh
A2 - Hartel, Pieter
A2 - Kuchen, Herbert
PB - Springer Verlag
Y2 - 3 September 1997 through 5 September 1997
ER -