I've been trying to learn programming for a few years now, and made very little (if any) progress. I have yet to find any mentor, book, or approach that makes sense to me. A large variety of mentors, books and approaches seem to be based on the belief that there is only 1 way to learn to program, and if your brain isnt wired that way, well then you suck and dont deserve any help (to paraphrase). (yes, I do try before I ask questions, because I grew up very independent)
I worked in a K-12 school district for a few years and got the chance to observe a variety of teaching styles at a variety of grades. One thing I noticed with regard to really good teachers is that when they found a student not learning, they worked with that student to find a different approach that would work. I think this is a fundamental skill for any good teacher. I've never been able to find anyone in the programming field who has this skill/belief. All the mentors I've had, seem to expect me to learn programming in a very particular style/approach, and at the very instant they observe that style/approach not working for me, they give up (teaching me). I'm frustrated already, it frustrates me even more when my teacher gives up.
I could learn programming on my own. I *WANT* to learn programming on my own. Nothing would please me more than spending evenings or weekends sitting at home coding something that actually works. The only cross-pedagogic approach that has been marginally successful to me is Processing.org, but as much as I like their approach, I can't seem to translate what I'm learning there over to help me understand the fundamentals of programming. (Great, I can make a circle bounce on the screen, but that hasnt taught me anything about usable about arrays, objects or functions.)