Department of Computer Science · Grinnell College

Grinnell Science Project · August 21–22, 2018


As part of the Grinnell Science Project, each of the departments in the Division of Science offers a two-day workshop, similar to a class in an introductory course.

This is the front-door page for the 2018 workshop in computer science, “Recursion.” Recursion is a structural pattern in which a composition contains a transformed and possibly simplified copy of itself. In this workshop, we'll see how some simple forms of recursion work in mathematics, programming, and graphics.

Readings and exercises

  1. Dragon curves
  2. Racket and DrRacket
  3. Arithmetic in Racket
  4. Names and definitions
  5. Functions and λ-expressions
  6. Arithmetic conditions
  7. Conditional expressions
  8. Defining natural numbers
  9. Recursion over natural numbers
  10. Constructing lists
  11. List functions
  12. Structural induction
  13. Recursion over lists
  14. Drawing the dragon