My Most Helpful Materials in Learning to Program

The number one question I receive about learning to program is which tools have been most helpful to me. It’s an interesting and delicate question for me to answer, because usually the person is hoping to recreate my experience.

I intentionally made the title of this post in reference to my personal materials, as opposed to a generic “Best Tools for Learning to Program”. While, the marketer in my brain wanted to use this broader appealing title to attract a larger audience, it wouldn’t have been has beneficial to you.

Learning styles vary and what works for me, won’t necessarily work for the next.

In this regard, I’ve been careful to write about how to start the process learning to code and important factors to considered in your own personal choices. If you’re just starting out, see these articles for information about getting started:

Once you’ve thought about your best approach, you’ll begin to think about learning tools to help your process and your chosen language. My personal learning approach is entirely focused on building web applications. I’m not trying to be a scholar of Ruby. As a result, I having working knowledge of Ruby, but not necessarily a strong grasp of the language at this point.

Instead, I’ve used the Rails framework to build my application and then only learn aspects of Ruby specifically required to build the next feature. I didn’t start out my learning to program process with this mentality.

When I started, I read a lot online from more experienced developers ranting about newbies only using Rails and not understanding Ruby. Well, that was not going to happen with me. I wasn’t going to be one of those uniformed developers. So I mistakenly made it my goal to learn Ruby from the very start.

I went though material on Ruby basics and covered Procs, Lambdas, Modules, etc. And it gave me a much stronger understanding of Ruby, right? Wrong. I didn’t absorb the Ruby material because I had no context in which to frame it.

Fortunately, I’ve taken an agile approach in learning to program. I quickly dropped the Ruby material and only focused on building an app, knowing that I may need to supplement my understanding of Ruby at a later time. These are the materials that helped me do that:

Best Rails Learning Material

Front-end (HTML, CSS, JavaScript)

  • Codecademy for basic HTML and CSS
  • “Build a Simply RoR App” on Treehouse presents JavaScript and jQuery inside an actual app.

These materials have been most helpful during my first 6 weeks where I focused on tutorials, reading, and creating a baseline level of knowledge to begin building my app. In a future post, I share my materials which have been most helpful for building my first Ruby on Rails app.

Featured image courtesy of Wesley Fryer

  • http://www.thecommongeek.com/ Dennis Keefe

    I too learn better when I can see what is going on while I work, so working through an app project is very helpful. Keep up the great work!

    • http://andrewkkirk.com/ Andrew K Kirk

      That’s awesome! Do you have any suggestions for how to pick a new project?

      • http://www.thecommongeek.com/ Dennis Keefe

        I have worked through some Jumpstartlab tutorials, also just thinking of a idea and trying to build it. As far as adding features, Railscasts is a big help too.

  • http://www.codeconquest.com/ Charles @ CodeConquest.com

    Hi Andrew, good post. I think I might do a similar post on my own blog.

    • http://andrewkkirk.com/ Andrew K Kirk

      Great. Come back and share it with us all.

  • http://www.virtuallybing.com/ Bing Chou

    Andrew – nice work with this post. I’ve used some of the resources you’ve recommended, along with a few others that I listed in this post I wrote a year ago: http://quickleft.com/blog/5-resources-to-get-started-with-ruby-on-rails

    • http://andrewkkirk.com/ Andrew K Kirk

      Great info and direct to the point! Thanks for sharing with our community.