you can't expect to write emulators or even a fully blow you away game from day one, it'll probably take you at least 6 months to a year to write something decent, that you understand and not just copy / pasted out of a book
You have to "trial and error" a lot, like with all things in live, and especially trying to find things on your own, like you get a compiler / linker error you don't understand --> look it up in google without the line numbers and source files, to give you an idea of what the error is and how to solve it.
Programming errors itselve you should trace down yourselve, but you'll learn that by doing so
I started when i was 15, my fascination started when i first received an LCD game & watch game and later on the gameboy. I could not understand how it was possible that when you pressed left the guy moved left and vice versa... So i started searching the internet and started following tutorials, but not just copy / pasting things but really trying to understand what was going on.
with enough time and motivation you can teach yourselve programming, at least i did so, and i knew most things by the time i went to college so the informatics related courses where too easy for me. I graduated and workd as programmer as well in daily life, i'm 29 now (almost 30) and i still get to learn new things every day.
programing is an evolving science, and really hard to keep up with, you'll never learn everything in programming, that's just impossible imo, but if you focus for example on games programming you should start with simple things, like how to put a pixel on the screen, how to move a character, there are already plenty of topics about this in other sections of these boards so you could seek and read those first... I would suggest SDL though it's fairly simple and you can do a lot with it
First you have to learn to keep your balance then learn to step then learn to run (if you know what i mean with this).
I'd also suggest to install linux or get vm-ware player with a linux image it'll safe you some time and you'll learn certain commands you could use when telnetting to the caanoo as well
I programmed for the gp2x, caanoo and dingoo and before that i was already making (little) games in delphi. It only went quicker when i learned of SDL and when i met the GP2X in the days
have fun