Structure and Interpretation of Computer Programs
Problems and projects from the legendary MIT 6.001 Purple Book.
Chapter 1  Expressions, Naming and Environment, Evaluating Combinations, Compound Procedures, Substitution Model, Applicative Order Evaluation, Normal Order Evaluation, Conditional Expressions and Predicates, Numerical Analysis, Square Roots, Cube Roots, BlackBox Abstractions, Recursion, Iteration, Linear Recursion, Tree Recursion, Orders of Growth, Exponentiation, Greatest Common Divisors, Prime Numbers, Primality Testing, Fermat Test, Probabilistic Methods, HigherOrder Procedures, Procedures as Arguments, Numerical Integration, Lambda Calculus, Local Variables, FixedPoints of Functions, Procedures as Returned Values.
Chapter 2  Compound Data, Data Abstraction, Abstraction Barriers, Pairs, Lists, Church Numerals, Interval Arithmetic, Hierarchical Data, Closure, Pointers, Sequences, List Operations, DottedTail Notation, Mappings, Nested Mappings, Hierarchical Structures, Trees, Seequence Operations, Filtering, Accumulation, Matrix Algebra, Eight Queens, Picture Language, Symbolic Data, Symbolic Expressions, Quotation, Symbolic Differentiation, Set Representation, Sets as Ordered Lists, Sets as Binary Trees, Huffman Encoding Trees, Multiple Representations for Abstract Data, Tagged Data, DataDirected Programming, Additivity, Message Passing, Generic Operations, Coercion, Type Hierarchies, Generic Arithmetic Operations, Symbolic Algebra.
Chapter 3  xx
Some useful links:

FixedPoint Combinators in JavaScript: Memoizing Recursive Functions

Hyperpolyglot  Commands for Common Lisp / Scheme / Clojure / Emacs
The wiki contains answers to some of the more mathematically oriented questions.
John McCarthy, Inventor of Lisp