Racket
Full course · 21 lessonsRacket is a modern functional and general-purpose programming language in the Lisp/Scheme family. It excels at language-oriented programming, creating domain-specific languages, and teaching computer science fundamentals.
Getting Started with Racket
Install, DrRacket, hello world.
Expressions and Values
S-expressions and evaluation.
Definitions
define and let.
Functions
define and lambda.
Lists
Build and process lists.
Conditionals
if, cond, and cases.
Iteration
for loops and recursion.
Structs
Custom data types.
Strings
String functions.
Higher-Order Functions
Functions as values.
Hash Tables
Key-value storage.
Exceptions
Raise and handle errors.
Input/Output
Read and write.
Macros
Code generation.
Modules
Organize Racket code.
Pattern Matching
match expressions.
Objects and Classes
Racket OOP.
Threads and Concurrency
Parallel execution.
GUI Programming
Build interfaces with racket/gui.
Web Servers
Serve HTTP with Racket.
Ecosystem and Next Steps
Raco, packages, community.
Free Books
How to Design Programs (HTDP)
The definitive introductory CS textbook using Racket — teaches systematic program design from first principles.
Realm of Racket
A fun project-based book teaching Racket through game development — free to read online.
Beautiful Racket
An in-depth guide to understanding and creating languages with Racket macros and syntax.

