P.S. To clarify a point, my remark about abstraction concerns SICP. As much as I like SICP, I must say that they teach abstraction out of context and without 'self-discovery' from the students' point of view. -- Matthias