Hey there!
I'm currently studying software engineering in Montreal, and I've been programming stuff for about 5 years. It's not that much, but I think my advice might be able to help you. ;)
First thing you should do is choose a language (I recommend Java or C# for beginners), and stick to it for a few months/years.
Next step, I think the best way for learning the basics is by trying. Here is what I would do :
1. Learn what an IF statement is, and how to use it
2. Learn what a LOOP is, and how to use it
3. Learn how to create a function, and how to call it
With this, you have the basic tools for writing code that works and does stuff. You should then try programming anything, just to get comfy with the basics (a very simple calculator is a common example). If you have ideas of such small programs which you think might help you understand, just try it. ;)
When you feel comfortable with the language, you should search about the basics of OBJECT ORIENTED PROGRAMMING. It's an extremely important concept that is absolutely essential to any modern programmer. When you do, make sure that you understand the difference between a CLASS and an OBJECT, it's a very important detail before understanding any other concept about object programming.
When you feel more comfortable with the language and with object programming, I suggest making a clone of Minesweeper (you might want to google the term "recursion" and learn about it, you'll probably need that). Start by simply reproducing the game's basic rules. When that is done and works properly, you can try to make the menus for specifying Expert, Beginner or Intermediate. This'll also help you learn about User Interface, like windows, buttons, labels, menus, etc.
You could also try making a basic Tetris game. Again, start with the basics (blocks keep falling one at a time, and a full horizontal line disappears). When it works, you can add a timer, then a score (then a highscore!). You can also try to make the game speed up in time, when everything else works. This game should teach you important stuff, like displaying images, moving them on the screen, using object programming to instantiate the blocks, etc. This might be a bit more challenging, but it's a good challenge for learning.
I think with these few steps, you're good to go for at least a few months. Learnin how to code is a long process, but don't despair when you're having a hard time. It's hard for everyone at first, so it's not just you. ;)
Good luck, an have fun!
You can email me if you have any questions.