I feel one learns a programming language the best by working with it.

There are some programming books that use this idea, by including exercises at the end of each chapter. I find that I enjoy this kind of books a lot more, and I get to a productive level much faster than I would if I just read the book and only tried certain parts on the computer.

I am interested in the names of these books, no matter which language. I am a Software Engineering student and adding a language to my portfolio only makes me a better engineer. Please name here the books you know which contain exercises at the end of chapters or even books consisting only of exercises! I will be checking them all.

Thanks!