And the "How to Design Worlds" curriculum (by the authors of the well-known intro CS text "How to Design Programs") teaches functional programming for first-time programmers by building simple games and animations:<p><a href="http://world.cs.brown.edu/" rel="nofollow">http://world.cs.brown.edu/</a>