Thinking in Functional programming
bddbbdb: Little Schemer, then SICP. For sure. As for TDD, take a look at SchemeUnit, which I've found very handy in testing the exercises in Little Schemer.SICP is one of the single most valuable and important texts in CS. Little Schemer is structured as a real training regimen to get your mental muscles ready to handle that theory.