61 lines
3.1 KiB
Scheme
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")
|
|
"."))))
|