Just a side note: if you are mostly interested in C++ and not C, then just skip to learning C++. A lot of people think they should start with C (since it's "easier", supposedly) so that C++ will be easier to learn...but that's not a good idea imho. Chances are fairly high that, by learning C solely as a gateway to C++, you'll find yourself having to relearn things (and possibly confused), or you'll just end up programming C in C++.
Now, this is
NOT to say that you shouldn't learn C. I just want to stress that you don't need, and probably shouldn't, learn C
only because you want to learn C++. Learn C because you want to learn and use C.
As far as learning C++ from the beginning, look no farther than:
http://www.amazon.com/Accelerated-C-Pra ... ed+c%2B%2B
It's a great book that teaches C++ "the right way" - not as C with OOP, but as C++. There are of course other great books on C++, though this is probably the best introduction (both in how it teaches you, and by the good habits that it encourages), especially for non-programmers.
If you'd like to learn C, then the book by the creators themselves is one of the best options out there:
http://www.amazon.com/Programming-Langu ... rogramming
Some other languages to look into would be Java, C#, and Objective-C. I have a feeling that C# is going to start waning in popularity, especially now that XNA is dead/dying (though there's still MonoGame, the open source alternative), or at least that it won't be as popular among game developers as it has been the last 6 or 7 years. Java is always popular, and seems to be fairly popular on the job market (though I don't have much experience with it). Android is very Java-oriented, for what that's worth (potentially a lot, especially if OUYA doesn't completely fail). Objective-C (like C++, it's another object-oriented subset of C...though they are pretty different from each other) is currently pretty popular and probably will be for a while, because of its use in iOS app and Mac software development.
In reality, it's useful to know as many languages as you can. If you were just starting out in programming, I'd suggest that you start with C# or with something like Lua or Python (NOT JavaScript! haha). If, through your experiences with Lua (and possibly other languages), you're fairly comfortable with programming concepts, and you're serious about this, then learning C++ will be pretty useful to you. C# would still be a good option in that case though.
Also, while very opinionated, this article might be useful to you:
http://www.gamefromscratch.com/post/201 ... loper.aspx
Oh, and you mentioned that the PSP home brew scene is dead. Well, that may be true, but the Playstation Mobile (Vita + Sony and Sony-certified Android devices + HTC Android devices) dev scene definitely isn't:
http://blog.us.playstation.com/2012/11/ ... obile-sdk/
http://www.gamefromscratch.com/page/Pla ... ntent.aspx
I believe that the PS Mobile SDK is all in/for C#. Might be worth checking out!
EDIT:
And don't get me wrong, courses and such are really good ways to learn for most people. I didn't post anything like that though, as I tend to learn better from books and articles and such. If you are the type of person where a fixed curriculum or (in the case of a IRL course) a classroom setting helps you learn, then go for that.