Several months ago Mike King (aka ipullrank) tweeted about a course that would teach people how to build a search engine. Being the curious type I am, I clicked the link to check it out. Upon first glance it just seemed like another online course, but this one wasn’t just online. It was taught by some pretty smart instructors from Stanford and Google fellows. It was called Udacity.
The first video was an explanation that the purpose of the course was to teach an introduction to computer programming, “I’ve been hoodwinked!” I thought. But in reality this was just what I needed to get me interested in computer programming. This kind of scared me a bit. I’m not a programming geek like a lot of friends are. But Udacity started off at a very very basic level. There were a
few people in the forums asking when the course would get more advanced and start talking about the components of a search engine. The instructors emphasized again the overall goal of the course was to learn more about computer programming, building a search engine was merely a way to practice what we were being taught.
I have to admit, I could see where the instructors were coming from, but I really wanted to dive into the building of a search engine. My purpose for enrolling would change. While I was making my way through the first session I was understanding and grasping everything presented, and I was hooked. By the end of the first lesson I had forgotten I signed up to build a search engine. I wanted to learn more about programming. Then programming became more about problem solving and less about trying to build something.
After the first lesson the course picked up very quickly. I began to read the forums more and more to find additional reading to understand what was being presented and asked of us to accomplish for homework. What I found was that each resource I came across I was able to read and understand it then apply it. Previously I just would have looked for a “Computer Science For Dummies” book and tried to make sense of that. But using Python every day and completing small projects helped me pick it up much faster.
The harder the lessons got the more the instructors were telling us to see the final product then work backwards. There were multiple ways to get to the final answer but to figure out the steps and come up with the most efficient way possible. It was great, not only did this teach me how to solve the quizzes in class, but helped me when it came to troubleshooting stuff at work. There’s more than one way to go about accomplishing something, but is it the most efficient? What I learned from Udacity was a better way to go about solving problems.
I’d love to say that I finished the course and built the next search engine to rival Google! But halfway through the fifth lesson work and life just took over. However, knowing Udacity still has all the lessons online and the course is going to begin again gives me some relief knowing I can refresh myself again on the information I’ve already studied to get better prepared for the harder final lessons.
If you’re curious about computer programming or want to better understand how web crawlers and search engines operate, Udacity is a must. Don’t want to learn Python? My buddy href=”http://twitter.com/#!/mitchmonsen”>Mitch Monsen wrote a post about learning programming for SEO and listed a few sites that offer similar learning plans to Udacity. From this I learned that having an end goal or project to complete helps with the learning process. Sitting down in a class and listening to someone teach I’m sure is great for some, but what this class really taught me was actually working on something helps with absorbing the knowledge. It isn’t so much about trial and error so much as it is about “look at what I created”.