This semester Dan Licata and I are co-teaching a new course on functional programming for first-year prospective CS majors. This course is part of the new introductory CS curriculum at CMU, which includes a new course on imperative programming created by Frank Pfenning, and a planned new course on data structures and algorithms, which will be introduced by Guy Blelloch this fall. The functional a