Skip to content

nasimstg/racket-programming-series

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Racket Programming Series

A complete, hands-on Racket programming course — from "Hello World" to building interpreters, games, and web scrapers. Every example comes from the companion blog series on Learn How To.

New to Racket? Start at Part 1 and work your way down. Each folder is self-contained with runnable .rkt files.

Prerequisites

  1. Install Rackethttps://racket-lang.org/download/
  2. Run any example:
    racket 01-introduction/hello-world.rkt
  3. Or open files in DrRacket (the IDE that ships with Racket) and click Run.

Table of Contents

Fundamentals (Parts 1–10)

# Topic Code Blog Post
1 Introduction to Racket 01-introduction/ Read
2 Functional Programming 02-functional-programming/ Read
3 Data Types & Structures 03-data-types-and-structures/ Read
4 Control Flow 04-control-flow/ Read
5 Higher-Order Functions 05-higher-order-functions/ Read
6 Macros 06-macros/ Read
7 Error Handling & Debugging 07-error-handling/ Read
8 Modules & Libraries 08-modules-and-libraries/ Read
9 Input/Output & File Handling 09-input-output/ Read
10 Capstone: Guess the Number 10-capstone-guess-the-number/ Read

Intermediate (Parts 11–18)

# Topic Code Blog Post
11 Continuations & call/cc 11-continuations/ Read
12 Object-Oriented Programming 12-object-oriented-programming/ Read
13 Typed Racket 13-typed-racket/ Read
14 Web Development 14-web-development/ Read
15 Language-Oriented Programming 15-language-oriented-programming/ Read
16 Lazy Evaluation & Streams 16-lazy-evaluation/ Read
17 Logic Programming (Datalog) 17-logic-programming-datalog/ Read
18 Concurrency & Parallelism 18-concurrency-and-parallelism/ Read

Advanced (Parts 19–27)

# Topic Code Blog Post
19 Documentation with Scribble 19-documentation-scribble/ Read
20 Foreign Function Interface (FFI) 20-foreign-function-interface/ Read
21 Unit Testing with RackUnit 21-unit-testing/ Read
22 Databases & SQL 22-databases-sql/ Read
23 Deployment & Distribution 23-deployment/ Read
24 Semantics with Redex 24-semantics-redex/ Read
25 GUI Programming 25-gui-programming/ Read
26 Contracts 26-contracts/ Read
27 Network Programming (TCP/UDP) 27-network-programming/ Read

Ecosystem & Tools (Parts 28–33)

# Topic Code Blog Post
28 Systems Programming 28-systems-programming/ Read
29 Racket vs Scheme Standards 29-racket-vs-scheme-standards/ Read
30 Performance & Profiling 30-performance-profiling/ Read
31 Scientific Computing & Plotting 31-scientific-computing/ Read
32 Building Parsers & Lexers 32-parsers-lexers/ Read
33 Solver-Aided Programming (Rosette) 33-solver-aided-rosette/ Read

Projects

Project Code Blog Post
Build a Lisp Interpreter projects/lisp-interpreter/ Read
Snake Game projects/snake-game/ Read
Web Scraper Bot projects/web-scraper/ Read

Extras

Topic Code Blog Post
Creating Graphics examples/graphics/ Read
Cheat Sheet Read
Why Learn Racket? Read
Racket vs Python vs Common Lisp Read

How to Use This Repo

Follow the course: Read each blog post, then run and modify the matching code.

# Run any example
racket 05-higher-order-functions/map-filter-fold.rkt

# Run the snake game
racket projects/snake-game/snake.rkt

# Run tests
raco test 21-unit-testing/module-test-example.rkt

Experiment! Every file is designed to be modified. Change values, break things, and see what happens — that's how you learn Racket.


Full Blog Series

This repo is the companion code for the Scheme/Racket Programming Series on learnhowto.vercel.app.

License

MIT

About

Throughout this series, you'll not only learn core functional programming principles but also apply them in real-world projects. Each blog post is complemented by engaging video tutorials and GitHub code examples, making it easier than ever to follow along and practice on your own.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages