1 | Introduction |

2 | Programming in Pyret |

3 | Interactive Games as Reactive Programs |

4 | Testing, Examples, and Program Checking |

5 | Functions as Data |

6 | Predicting Growth |

7 | Sets Appeal |

8 | [EMPTY] |

9 | Halloween Analysis |

10 | Sharing and Equality |

11 | Graphs |

12 | State, Change, and More Equality |

13 | Algorithms That Exploit State |

14 | [EMPTY] |

15 | Processing Programs: Parsing |

16 | Processing Programs: A First Look at Interpretation |

17 | Interpreting Conditionals |

18 | Interpreting Functions |

19 | Reasoning about Programs: A First Look at Types |

20 | Safety and Soundness |

21 | Parametric Polymorphism |

22 | Type Inference |

23 | Mutation: Structures and Variables |

24 | Objects: Interpretation and Types |

25 | Control Operations |

26 | Glossary |