67 lines
3.2 KiB
Scheme
67 lines
3.2 KiB
Scheme
(module langlevels mzscheme
|
|
(require "../private/headelts.ss")
|
|
(require "../../private/manuals.ss")
|
|
|
|
(require (lib "servlet.ss" "web-server"))
|
|
(provide interface-version timeout start)
|
|
(define interface-version 'v1)
|
|
(define timeout +inf.0)
|
|
|
|
(define (start initial-request)
|
|
|
|
(report-errors-to-browser send/finish)
|
|
|
|
`(HTML
|
|
(HEAD ,hd-css
|
|
,@hd-links
|
|
(TITLE "A Note on Language Levels") )
|
|
(BODY
|
|
(H1 "A Note on Language Levels")
|
|
(A ((NAME "language levels") (VALUE "language levels")))
|
|
(P)
|
|
"DrScheme presents Scheme via a hierarchy of "
|
|
,(manual-entry "drscheme" "languages" "language levels")
|
|
"."
|
|
(P)
|
|
"We designed the teaching languages based upon our observations of "
|
|
"students in classes and labs over several years. Beginning students "
|
|
"tend to make small notational mistakes that produce "
|
|
(em "syntactically legal") " Scheme programs with a "
|
|
(em "radically different meaning") " than the one intended. "
|
|
"Even the best students are then surprised by error messages, "
|
|
"which might mention concepts not covered in classes, or other "
|
|
"unexpected behavior."
|
|
(P)
|
|
"The teaching levels are not ideal for instructors. "
|
|
"They are particularly unhelpful for implementing libraries "
|
|
"to support course material. But the levels were not designed "
|
|
"for this purpose. Instead, in order to protect students from "
|
|
"unwanted mistakes and to provide them with libraries based "
|
|
"on language constructs outside of their knowledge, DrScheme "
|
|
"provides an interface designed specially for instructors: "
|
|
,(manual-entry "drscheme" "DrScheme Teachpacks" "Teachpacks") ". "
|
|
"A Teachpack is a "
|
|
,(manual-entry "mzscheme" "modules" "module")
|
|
" that is implemented in Full Scheme; it imports the functions "
|
|
"from the teaching languages and the graphics run-time library. "
|
|
"The provided values are automatically imported to the run-time "
|
|
"of the read-eval-print loop when the student clicks the "
|
|
,(manual-entry "drscheme" "Execute button" "Execute") ". "
|
|
"In short, Teachpacks provide students the best of both worlds: "
|
|
"protection from wanton error messages and unexpected behavior, "
|
|
"and powerful support from the instructor."
|
|
(P)
|
|
"We strongly encourage instructors to employ language levels and "
|
|
"Teachpacks. In our experience, the restriction of the teaching "
|
|
"languages do not interfere with students' programming needs up to, "
|
|
"and including, junior-level courses on programming languages. "
|
|
"It gives students a more productive learning experience than "
|
|
"raw Scheme, and simplifies the interface between library and "
|
|
"user code."
|
|
(P)
|
|
"We also strongly encourage students to point out this page to "
|
|
"their instructors."
|
|
(P)
|
|
"Please follow the links on this page for more information. "
|
|
"If you have additional questions or comments, please contact "
|
|
"us at " (A ((HREF "mailto:scheme@plt-scheme.org")) "scheme@plt-scheme.org") ".")))) |