My wife came to me about 3 months ago with the same sentiments.
Here's the progression we've gone through in rough order:
- The different parts of a computer and how they interact at the macro level
- The interaction between memory and the CPU
- What is binary and what are other base systems, and how do they work
- The concept of different levels of language, i.e. machine code, assembly, unmanaged high level, managed high level
- Machine code and assembly (not directly, but just conceptually)
- Basic parts of a program in C++
- concepts of variables
- concepts of functions
- conditionals
- control flow
This is with about a couple of hours a weekend of actual instruction.
That's about where we are now, and she can write basic C++ programs with standard control structures. Next week we are starting concepts of memory allocation/pointers, and heap vs. stack.
Many will say that C++ is not a good teaching language, but IMO it's just fine. The fact is that my wife wants to learn the real concepts behind programming, not just how to throw some .NET stuff together. If she were going to become a corporate programmer, then that'd be one thing, but she's just academically interested in the science of it, and for that I think C++ is ideal.
She's a high school English teacher, but she double-majored in English and Biology. She's smart, but not mathematically-oriented, and this has been both fun and challenging for her I think. Her computer literacy prior to this did not extend much past office applications, a little gaming, and a web design class she took in high school (where we met while I was a TA for a class, incidentally).