Another good resource for learning programming is udacity.com, which allows you to access courses— introductory through advanced—for free. For those interested in classical programming, I recommend starting with its Java or Intro to Computer Science classes; for web development, I recommend HTML/CSS.
Modern development requires much more than just programming skills. For those learning how to program, this is sometimes the hardest step. While your efforts may seem far from any real software, it’s essential to keep working. If you’ve made it this far, you have the building blocks from which all software is made.
After learning basic programming, it’s important to understand some of the theory behind software development. At this stage, it may still be difficult to understand everything you’re reading or doing, but that’s okay. Take it slow and use Google and Wikipedia often, but keep moving and, don’t get stuck on any one topic.
For the Python/Ruby programmers, check out the free eBook “Think Python,” or the last few pages of learnpythonthehardway.org/book or learnrubythehardway.org/book, especially the “next steps” section, for more advanced topics in your language of choice. Udacity’s “Intro to Algorithms” provides a broad overview of commonly used algorithms in computing. The Django Tutorial (for Python) or the Rails Tutorial (for Ruby) will teach you about useful frameworks for developing web applications.
Both groups should also learn to use the command line at this point. It is a different way of interacting with the computer through text rather than through the mouse, and teaches a lot about how programs interact with the computer. cli.learncodethehardway.org/book is a good resource for this.
Join the club
Finally, it is time to put your skills to the test by getting involved in the programming community. Github.com is a great site for finding new tools, sharing code, and contributing to open source. The name comes from git, a version control system that is incredibly useful for programmers. atlassian.com/git/ contains everything needed to become a git master.
Hack McGill hosts hack nights and other meet-ups throughout the year. , which are great ways to meet other programmersAttend a ‘hackathon,’ a 24+ hour coding marathon where teams build working software from scratch in a friendly competition.
Mastering programming is in no way simple, but hopefully this guide will help provide you with a foundation that you can build on as you move forward in your programming career.