Course Overview
What this Scheme Programming course covers, how to use it, prerequisites.
A structured, hands-on course on Scheme, the minimalist, elegant dialect of Lisp famous for lexical scoping, first-class procedures, proper tail calls, first-class continuations, and hygienic macros. It runs from your first expression at the REPL to lists and recursion, higher-order procedures, data abstraction, records, hash tables, syntax-rules and syntax-case macros, call/cc and dynamic-wind, exceptions, parameters, lazy streams, libraries, I/O, the classic SICP projects (symbolic data, generic operations, state, streams, the metacircular evaluator), nondeterministic programming with amb, logic programming, implementation-specific power tools (Chez, Guile, Chicken, Racket), FFI, concurrency, testing, performance, and writing Scheme interpreters and compilers.
Targets R7RS-small (2013) as the portable baseline, with notes on R5RS, R6RS, common SRFIs, and major implementations. For the wider Lisp family see the Lisp course on this site; for Common Lisp see the Common Lisp course on this site.
Course Overview
Beginners, CS students (SICP/HtDP), language enthusiasts, Guile/Guix users, developers wanting to master functional programming and language implementation
None for Part I; basic programming helps ~80–100 hours (self-paced), 11–12 weeks
Chez Scheme, GNU Guile, Chibi-Scheme, CHICKEN, or Racket (#lang r7rs); an editor (Emacs + Geiser, VS Code + Magic Racket or a Scheme extension, DrRacket)
SICP exercises, *The Little Schemer*, Exercism Scheme track, Advent of Code, Project Euler
Foundations → Lists & Recursion → Abstraction (SICP) → Control & Advanced → Macros → Libraries & I/O → Interpreters → Practice
(1–8) (9–15) (16–23) (24–30) (31–34) (35–40) (41–44) (45–52)