Books & Videos

Table of Contents

  1. Chapter 1 (Getting Started)

    1. 1.1 Readying Racket

    2. 1.2 Interacting with Racket

    3. Raise—Chapter Checkpoint

  2. Chapter 2 (A First Racket Program)

    1. 2.1 The Guess My Number Game

    2. 2.2 Defining Variables

    3. 2.3 Basic Racket Etiquette

    4. 2.4 Defining Functions in Racket

    5. Resume—Chapter Checkpoint

  3. Chapter 3 (Basics of Racket)

    1. 3.1 Syntax and Semantics

    2. 3.2 The Building Blocks of Racket Syntax

    3. 3.3 The Building Blocks of Racket Semantics

    4. 3.4 Lists in Racket

    5. 3.5 Structures in Racket

    6. Interrupt—Chapter Checkpoint

  4. Chapter 4 (Conditions and Decisions)

    1. 4.1 How to Ask

    2. 4.2 The Conditionals: IF and Beyond

    3. 4.3 Cool Tricks with Conditionals

    4. 4.4 Equality Predicates, Once More

    5. 4.5 Comparing and Testing

    6. Call-with-current-continuation—Chapter Checkpoint

  5. Chapter 4½ (define define ’define)

    1. 4½.1 Module-Level Definitions

    2. 4½.2 Local Definitions

    3. Abort—Chapter Checkpoint

  6. Chapter 5 (big-bang)

    1. 5.1 Graphical User Interface

    2. 5.2 Landing a UFO

    3. 5.3 Using big-bang: Syntax and Semantics

    4. 5.4 Guessing Gooey

    5. Exit—Chapter Checkpoint

    6. Chapter Challenges

  7. Chapter 6 (Recursion Is Easy)

    1. 6.1 Robot Snake

    2. 6.2 A Data Representation for the Snake Game

    3. 6.3 The Main Function

    4. 6.4 Clock Ticks

    5. 6.5 Key-Events

    6. 6.6 Rendering

    7. 6.7 End Game

    8. 6.8 Auxiliary Functions

    9. Return—Chapter Checkpoint

    10. Chapter Challenges

  8. Chapter 7 (Land of Lambda)

    1. 7.1 Functions as Values

    2. 7.2 Lambda

    3. 7.3 Higher-Order Fun

    4. 7.4 Two More Higher-Order Functions

    5. 7.5 Derive This!

    6. 7.6 apply

    7. Break—Chapter Checkpoint

  9. Chapter 8 (Mutant Structs)

    1. 8.1 Chad’s First Battle

    2. 8.2 Orc Battle

    3. 8.3 Setting Up the World, a First Step

    4. 8.4 Action: How Structs Really Work

    5. 8.5 More Actions, Setting Up the World for Good

    6. 8.6 Ready, Set, big-bang

    7. 8.7 Initializing the Orc World

    8. 8.8 Rendering the Orc World

    9. 8.9 The End of the World

    10. 8.10 Actions, A Final Look

    11. Throw—Chapter Checkpoint

    12. Chapter Challenges

  10. Chapter 9 (The Values of Loops)

    1. 9.1 FOR Loops

    2. 9.2 Multiple Values

    3. 9.3 Back to FOR/FOLD

    4. 9.4 More on Loops

    5. Waitpid—Chapter Checkpoint

  11. Chapter 10 (Dice of Doom)

    1. 10.1 The Game Tree

    2. 10.2 Dice of Doom, The Game

    3. 10.3 Designing Dice of Doom: Take One

    4. 10.4 How Game Trees Work

    5. 10.5 Game States and Game Trees for Dice of Doom

    6. 10.6 Roll the Dice

    7. 10.7 Rendering the Dice World

    8. 10.8 Input Handling

    9. 10.9 Creating a Game Tree

    10. 10.10 The End Game

    11. Kill—Chapter Checkpoint

    12. Chapter Challenges

  12. Chapter 11 (Power to the Lazy)

    1. 11.1 Doomsday

    2. 11.2 Lazy Evaluation

    3. 11.3 Memoized Computations

    4. 11.4 Racket Can Be Lazy

    5. Delay—Chapter Checkpoint

  13. Chapter 12 (Artificial Intelligence)

    1. 12.1 An Intelligent Life-form

    2. 12.2 Lazy Games

    3. 12.3 Adding Artificial Intelligence

    4. Stop-when—Chapter Checkpoint

    5. Chapter Challenges

  14. Chapter 13 (The World Is Not Enough)

    1. 13.1 What Is a Distributed Game?

    2. 13.2 The Data

    3. 13.3 The Network Postal Service

    4. 13.4 Organizing Your Universe

    5. 13.5 Distributed Guess

    6. Error—Chapter Checkpoint

    7. Chapter Challenges

  15. Chapter 14 (Hungry Henry)

    1. 14.1 King Henry the Hungry

    2. 14.2 Hungry Henry, the Game

    3. 14.3 Two United States

    4. 14.4 Henry’s Universe

    5. 14.5 State of the Union

    6. 14.6 Main, Take Client

    7. 14.7 Main, Take Server

    8. 14.8 See Henry Run

    9. On-disconnect—Chapter Checkpoint

    10. Chapter Challenges

  1. Conclusion. Good-Bye (Close Paren)

    1. ).1 Run Racket Run

    2. ).2 Racket Is a Programming Language

    3. ).3 Racket Is a Metaprogramming Language

    4. ).4 Racket Is a Programming-Language Programming Language

    5. So Long