i was just thinking C++ , becuase after checking out the Qt tutorials mentioned above they said "we assume you know C++" so i thought to myself: "that would be a good way to start" ^^ but i'll check out those books & those websites.

Edit:

The thing about those online universitys is that this seems to be US time & i'm german so i might not be able to follow every lesson... idf i could reread them and try to learn at my own speed, that would be better, you know ?

They are a series of video lectures each week followed by some homework which you can complete at any time up to the deadline. They are considerate of their international students and you'll have the whole week to fit it in at a time that suits you. Sign up and try them out, you've nothing to lose but a bit of your time and you can drop one or both if you don't find them useful. I don't know what these ones will be like, but I've done a few of these online courses and they've been pretty good except for the Software as a Service one (but I only signed up for it because the ones I wanted were delayed). I did the Machine Learning (which is being offered again next week through Coursera) the first time it was offered last October and can recommend that, there is a bit of programming involved, but nothing I found difficult.

If you really want to start with C++ thats up to you, it might work for you, but there are also Qt libraries for Python which is generally considered a better language for beginners, not that I'm an expert, I've never really got very far whatever I've tried, I tend to lose motivation after doing the basics, but I'm hoping these online courses will push me to a useful level.

I know it's generally considered obsolete but I started my coding in pascal and with it's english-like syntax, built-in strings and easy to use graphics library, I think it is very good starting point. Download dev-pascal, a very nice and simple ide with a good Pascal manual if you want to try it.

the best way to start learning programming is to write something (obvious ain't it? hehehe).

if you've never done programming before, do a search around the web and figure out the core skills required for a programmer. these are things that no book can teach but will be essential in reducing the stress and pain of learning to program. a couple of things pop to mind as i type this:
a) ability to break the problem down into smaller chunks and tackle each chunk separately and then the ability to piece it back together.
b) some basic understanding of (ok these things you can read in a book hehe).
- flow control (in any language)
- variables (how to assign and use them)
- functions / procedures calls

those two above go hand-in-hand.

worry about UI the last because that is usually the most difficult part (at least for me since i suck in UI design and hate writing code to make the app idiot proof lol). just print everything out to the console / terminal.

if you do read a programming book / C++ book / python book / etc (insert your best book here for learning how to program), my advise is to never treat the book as linear progress i.e. assume that when you read it from chapter 1 till the end, you will then be good enough to write hello world. my experience is you need to jump around chapters back and forth.

set yourself a target e.g. i want to write a simple program to show hello world and accept input from the user then do some text manipulation and show the final output as my text input in reverse. something specific. then set out to write that simple app using the book as a reference / guide.

once you've got a hang of those basics you can then do platform specific development. platform specific development has nuances of the platform that can be very very frustrating for someone who has no background in programming at all. if you are starting out learning C / C++, start with stdin and stdout for input and outputs first. you ignore the entire chunk of GTK, Qt, Hildon, etc. frameworks which can be overwhelming. come back to these when you feel comfortable with C / C++.

my fav quote on programmers: "it is easier to teach a programmer how to play chess than to teach a chess player how to program."