#lang meta/web (require "resources.rkt" "people.rkt" "techreports.rkt" "old-techreports.rkt") (provide learning) (define learning @page[#:window-title "Racket Learning" #:part-of 'learning #:description '@{Racket-related learning resources. Introductions to Racket, @; the Racket Guide, Computer Science textbooks that use Racket, @; outreach programs, and graduate studies.}]{ @parlist[@strong{Resources for Learning} (apply parlist @text{Documentation for getting started:} intros) @text{@-htdp — a textbook for introductory programming, but also worthwhile for experience programmers who are new to “functional programming.”} @text{@-plai — a textbook on programming languages.}] @parlist[ @strong{Outreach} @text{@-pbd — a workshop to train teachers using @-htdp in the classroom.} @text{@-bootstrap — a curriculum for middle-school students.}] @(apply parlist @strong{PLT Publications} (cons techreports (for*/list ([place (in-list all-places)] [pubs (in-value (place-pubs place))] #:when pubs) @a[href: pubs]{@(place-name place)}))) @parlist[@strong{Graduate Study} @text{We welcome applications from students interested in @|graduate-study|.}]}) (define graduate-study @page[#:file "common-plt-app.html" #:part-of 'learning]{ @(define (box-style border-width color) @list{border: @|border-width|px solid black; padding: 5px; @; background: @|color|@";"}) @(define place-names (add-between (sort (map (λ (p) (regexp-replace #rx", [A-Z][A-Z]$" (place-location p) "")) all-places) string