Advice like "just do a project" is good, but again, it is geared towards people with a certain level of understanding. However, it also works for novices, albeit more painfully. A lot of what you say about 'piecing together' vs 'self sufficient programming' is a perception problem, namely the missing ingredient for you is experience. The rest is learning about algorithms, how to make them, how to understand them, etc.
One thing, here, before getting too far, is that the language doesn't matter as much as outsiders think -- sure it is important, but a good conceptual grasp is far more important, because at some point picking up languages is fairly easy. (not trivial, but..)
So all of that being said, I don't know of any programming books which follow the format you describe, but I can recommend a couple of resources that approach the concepts instead of the language. The first is a series of books called "How to think like a computer scientist"[1]. The second is the MIT scip lecture series[2]. Neither is in your preferred languages, but both are great intros.
[1] http://www.openbookproject.net/thinkcs/
[2] http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma...