Reza's book is good. It's a bit difficult to understand, and some exercises seemed too difficult and asked in a weird way, but if you spend time on it and try hard you have good changes. I did not take Kirk's class but went through his book, it's explained pretty well and easy to understand. I...