CSE 413 Au12 Functional Programming and Racket

Racket Programming Environment and Language

  • Racket home
  • Download page
  • Racket documentation. Racket has been used for a wide range of teaching and research projects. A couple of the most useful documents for us are:
    • The Racket Guide. A detailed language reference. This is probably the best source for examples and explanations for the functional programming part of the course.
    • How to Design Programs. This is an introductory programming text using Scheme (for which you can read "Racket") written by the same folks. Since it's aimed at beginners it might not move as fast as you'd like, but it has a very good introduction to the concepts we're covering in CSE 413.

CSE 413 Notes on Scheme/Racket

Based on notes by Alan Borning. These notes refer to the language as Scheme but apply equally well to Racket.

  1. Scheme Basics
  2. Recursion and Applicative Programming
  3. Side effects and mutable data in Scheme

Other Resources

  • R5RS Report (pdf - in one file - or html, if you like flipping pages) This is the full definition of "classic" Scheme. Racket has some small changes and several significant additions to Scheme, but this is a useful reference and source for additional details.
  • Web page for Structure and Interpretation of Computer Programs (includes the full text of the book online in html format!). The classic Scheme-based introductory course from MIT. It's much more than we'll cover in CSE413, but the related examples and explanations should be very helpful.
  • Programming Languages: Application and Interpretation. An advanced programming languages textbook by one of the DrScheme/Racket people. Probably well beyond anything we'll do in this course, but it's great stuff if you're interested in going further.

(If you find something else that you think others would be interested in, send mail to the instructor so it can be added.)


Back to CSE 413 home