This is a book by Zed A Shaw that's available in alpha form online. It's for programmers with skills in one other "scripting" language, or who need to relearn C, Objective-C programmers who want better C skills and people who like a challenge.
Why is it the hard way? Because he wants you to type in all of the code and not copy-paste, typing it in exactly, even the comments. Then get it to run and make sure it prints the same output. If there are bugs fix them. Plus do the extra credit but you can skip ones that you can't figure out and always try to figure it out first before trying to get help.
I can see where he's coming from. If you learn as book by copy pasting examples, you've less involvement. When I skipped a lecture at Uni I'd photocopy somebody elses notes but it wasn't as good as writing them myself.