An offhand remark from someone in office sent me to this Amazon book page and found this Gem. Very apt for anyone who is beginning to code.
1. Never try to understand a long piece of code (or a long program) in one go. Focus on a few statements at a time. If possible, try to take a smaller chunk of the code and run it yourself to see what it does. Experimenting is always good, even if it doesn’t work and you get weird error messages, you’ve learned something!
2. Try it yourself. Make sure you try out code examples for yourself (don’t just read about them). Trying something and running it, actually helps it stick in your head. Better yet, if you change things around to see what effect that has, you’ll learn and understand more.
3. If all else fails, sleep on it. Sometimes no amount of brain effort will get you past a difficult or complicated problem. Either you don’t understand something, or a piece of your code won’t work, and you can’t figure out why. If all else fails, try sleeping on it. Or, at the very least, leave it alone for a few hours, and come back to the problem later. When you come to something fresh, often the answer will appear.
4. Never type long sections of code directly into the Shell. In Python, either in the Shell (IDLE) or the Console, you can type and run statements directly and see what happens. But if you’re entering a longer program, either use a text editor or use the Shell’s editor (select File, then New in the Shell). That way you can save your file, run it, and come back and fiddle with the code without having to re-type everything.
5. Pick the right project. If you’re looking for something to put your new-found programming skills to use, don’t think Halo, or Uncharted, or Super Mario Galaxy or Assassins Creed. Don’t even think Angry Birds, or Pocket God, or Rolando. Think arcade games from the 1970’s and 1980’s—games like Galaxian, Centipede, Donkey Kong, and Frogger have simple graphics and basic game mechanics, which makes them great first projects for budding game developers.
Do an internet search for arcade games from that period. Take a look at some examples and then try to write something similar yourself. It’s much more satisfying to take a simple project and actually finish it, rather than a hugely ambitious, complicated project that you never get working.
by: Jason R. Briggs