Scheme
Full course · 21 lessonsScheme is a minimalist, elegant dialect of Lisp renowned for its simplicity and use in computer science education. It features lexical scoping, first-class procedures, and a unified syntax that makes it ideal for teaching programming fundamentals.
Getting Started with Scheme
Install a Scheme, hello world.
Expressions and Values
Prefix notation and evaluation.
Definitions and Binding
define and let.
Functions
define and lambda.
Lists
The fundamental data structure.
Conditionals
if and cond.
Recursion
Recursive definitions.
Higher-Order Functions
Abstract over functions.
Strings
String operations.
Vectors
Random-access arrays.
Pairs and Association Lists
Key-value pairs.
Input/Output
Read and write.
Macros
define-syntax and hygiene.
Tail Calls and CPS
Efficient recursion.
Lazy Evaluation
delay and force.
OOP in Scheme
Object patterns.
Symbolic Computation
Manipulate expressions.
Metacircular Evaluators
Write an interpreter.
Interfacing with C
Call C from Scheme.
Web Development
Serve web pages.
Ecosystem and Next Steps
Implementations and resources.
Free Books
Structure and Interpretation of Computer Programs (SICP)
The legendary MIT textbook using Scheme to teach fundamental principles of computer programming.
The Little Schemer (Free Edition)
A classic dialogue-style book teaching recursive thinking and Scheme fundamentals.
Teach Yourself Scheme in Fixnum Days
A gentle free introduction of Scheme programming.

