In my opinion there are two issues: 1) Basic Programming Skills and 2) VFP specific skills, and I'm interested in your suggestions in how to meet both of those needs. Plus if there are other issues, let me know that as well.
I'm completely self-taught (and sometimes it shows). I don't have much to offer on basic programming skills. I played around with Basic in my youth briefly, and I got some formal instruction in C++ later in life but never used it to produce anything more than training exercises. I've briefly tinkered with Python--enough to convince myself that I could learn it if I had to, though I've never had to.
But for VFP, I first taught myself dbXL using the examples in the manual, and when I had to move from DOS into Windows I taught myself VFP.
The Hentzenwerke books were invaluable to me; I'm sure I never would have developed any real-world-usable skills without them. Especially:
Hacker's Guide to Visual Foxpro 6.0 (THANKS TED!!!) The Fundamentals by Whil Hentzen Effective Techniques for Application Development with Visual Foxpro (Booth & Sawyer: RIP Ms. Booth)
To a lesser extent:
Advanced Object Oriented Programming with Visual Foxpro 6.0 - Marcus Egger Debugging Visual Foxpro Applications (Nancy Folsom; whatever happened to her?) Visual Foxpro Report Writer - Cathy Pountney
Ken Dibble www.stic-cil.org