Tag Archives: Quora

learning

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

Sticky Notes Plan

3 Steps to Create The Ultimate Plan to Learn Code

There is an amazing wealth of information available to anyone wishing to learn code. This abundance of resources is both assuring and overwhelming. How do you sift through available resources and choose the course of learning best for you?

The nature of learning a new skill requires that you dive into foreign territory, which can be scary. But, it’s not uncharted territory; there are others who have been in your shoes before and succeeded.

For me, I visualize learning a skill as trying to cross from one side of a giant river to the other side. You’re currently on one side and you want to get to the other side. Standing, gazing across that great divide, you know there are lots of people who have tried to cross and have been unsuccessful. But, there also people who have crossed successfully, doing so using various methods available to you.

River Crossing

Photo courtesy of Chris Gladis

How do you, standing alone on the starting side, determine which path is right for you? Following these 3 steps will help.

#1 Evaluate All Options Against Your Resources

There are many options out there – too many to list. Quora is a great resource for any language you’re trying to learn. Here’s the Quora question and answer I used for as guide for Ruby. Because most resources will either be online or books available to order, create a bookmark folder for each language to save your list.

Also, your resources factor heavily into your decision as well. For me, spending years to get a CS degree, attending a developer bootcamp, or hiring a private tutor wasn’t an option because of time and cost reasons. Eliminate any options for which you don’t have the resources.

#2 Determine Your Learning Style and Match Resources

Once you’ve got a list of resources, it’s time to evaluate those options against your own learning style. Just because someone raved about a learning source doesn’t mean it’s right for you. Remember, there are many people who successfully crossed the river, but they didn’t all take the same journey. Find what works best for your brain.

#3 Don’t Be Afraid To Iterate

This last step is crucial, especially in learning web development. If you find a resource isn’t holding your attention or is incredibly too hard or too easy, don’t allocate your precious resources on it. Get rid of it and move on. This isn’t school, you’re not being graded on what you complete; instead, your accomplishment is all about what you learn.

One word of warning, don’t quit a resource because it’s challenging you; some of the best learning happens at this neural point.

My first week was scheduled to include Michael Hartl’s Ruby Tutorial. I even had a comment posted, which suggested this tutorial was a good place to start. However, I ultimately shifted course and focused my time on Rails for Zombies by Code School. I wanted to see the individual Rails pieces in action (MVC) before diving in heads first.

Learn Code Conclusion

Your time is the most precious resource you have when learning a new skill. Do what’s best for you and be able to adjust your plan as needed.

How do you create a plan for learning a new skill? Leave your thoughts and comments below.