As someone who's never really been able to break into coding my biggest problem with most of the learning material is it does not tackle a broader perspective on problem solving. Learning syntax and libraries is easy. Knowing where to apply them and how to architect your program is the really hard part. I'm not sure how you learn that other than experience and for a novice that means countless hours of work before they can produce anything unique and useful.
Unfortunately, that does seem to be the case at this point, although if anyone has any good references for novices, I'd certainly love to see them. So far, the best I've ever seen the situation summed up has been in the top comment on http://news.ycombinator.com/item?id=90782 .
It's the right approach, they teach you the concepts so that you can pick up any language and run with it. It uses Python but it's not about Python, which is a clean language that has a great support system (perhaps the most essential part in learning how to code).
Thanks I'll check both of these links out. I'm designing a little Google Maps based web app that has already had two major architectural changes due to issues I hadn't considered. Before I go forward with it I want to go through these resources and try to get the third iteration right.
HTDP starts off pretty basic, but it's by the same people as SICP (a famous textbook), and if it's anything like that book, it's "surprisingly deep", so don't dismiss it too quickly as "too easy"...