I think the best programming language introdution book I read was the " C programming language book" by Ritchie and Kerningham. What made this book stick in my head was that almost very chapter had a bunch of non-trivial exercises at the end and solving them helped me "deeply" absorb those concepts.
There is a lot of material on Clojure on the web . I own the "Joy of Clojure" as well as "Clojure in Action". They are great for illustrating how great Clojure is ( and it is great no question) but they don't help in deeply absorbing the language as much as the C book did. I wish there were programming exercises based around keys concept of Clojure, much like the C book.
There's lots of Exercise/challenge type resources for clojure online (and, very important, lots of devs doing them): Labrepl, SICP exercises in clojure, project Euler, 99 prolog problems
It's becoming a minor clojure tradition to port things from scheme and CL, e.g. Let over Lambda, Graham's On Lisp, Little schemer, etc.
There is a lot of material on Clojure on the web . I own the "Joy of Clojure" as well as "Clojure in Action". They are great for illustrating how great Clojure is ( and it is great no question) but they don't help in deeply absorbing the language as much as the C book did. I wish there were programming exercises based around keys concept of Clojure, much like the C book.