racket/collects/help/servlets/scheme/langlevels.ss
2006-11-23 22:46:57 +00:00

61 lines
3.1 KiB
Scheme

(module langlevels mzscheme
(require "../private/headelts.ss"
"../../private/manuals.ss"
(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")
"."))))