Advice is Cheap, but Expensive to Use: The Case for Project-Based Learning

The Beginning

Back before I knew what a variable was, and I thought git was an idiot, twice a month I would haunt Beijing Linux Users Group meetings.  These gatherings were filled with developers engaging in lively discussions about technology.  After formal talks, geeks would wistfully recall the days before Unity while nursing bottles of Qingdao beer.  I left each meeting equal parts inspired…and confused. But regardless, I wanted in.  I wanted to be that code slinging superstar. So one day, I took a seasoned Linux veteran aside. and asked, “how do I learn how to code?”  The friendly fellow reflectively responded with , “build something.”  Throughout my journey that has been by far the best and worst advice given to me.

Itching Curiosity

I remember how I felt when I heard those words.  Build something? Me? At that point, the extent of my scripting talents was limited to using a Python IDE as a giant alternative calculator.  How was I going to build something, or better yet, solve a problem, when I couldn’t even identify a problem?

Tutorial Purgatory

Fast forward a year. My life has been a revolving door of tutorials, and books especially designed for n00bs :)  I have a special name for this period of learning- tutorial purgatory.  You know enough to have a semi-decent conversation about the new concepts you are learning- but you can’t apply said concepts outside of the tutorial examples.

Now What

Before I continue, it must be said that tutorials have been, and continue to be indispensable vehicles that have gotten me to where I am today.  I have learned all sorts of fundamental information through tutorial.  Heck, I plan on starting a new one next week.

But the bottom line is I didn’t aspire to become a programmer just to muddle my way through an endless loop of tutorials.  I am learning how to code because I want to become a badass, rogue hacker.

How to Be a Badass-in-Training

Codecademy: Not all tutorials are created equal. Codecademy offers a balanced blend of tutorial, and miniature projects.  If you made up your mind that you want to learn how to program like five minutes ago, then this is a good place to start.

OpenHatch: OpenHatch is a non-for-profit which helps new developers contribute to open source projects.  The ‘missions’ are fun ways to learn important concepts such as working with tar archives, and git.  The website is very nice, however I suggest finding a real live person to help you with one of the projects. When it comes to Open Hatch, I find that having a physical mentor beats IRC chats any day, especially when you are brand new at this stuff.

Be the Critic

Take some time out to make a list of everything that makes your life a little less pleasant.  Is your alarm clock not doing the trick? Are you looking for an even easier way to split up the bill? Are you trying to find a more intuitive way to organize your smart phone’s address book? After you’ve made your list, see if you could use what you already know to solve some of these problems. For example, you could write a simple Python script to calculate and split the bill, or if you are interested in hardware you could make your own alarm clock by using an arduino micro-controller.

And finally, don’t be a stranger. If you are working on a cool project, please let me know!




5 thoughts on “Advice is Cheap, but Expensive to Use: The Case for Project-Based Learning

  1. sjmanniex

    Nicely told story and awesome advice for budding programmers!
    I especially enjoyed the Codecademy tutorials in my recent attempts to learn HTML and CSS. They were well structured and fun to follow.

    1. Pkafei Post author

      Thanks. Codecademy does a great job of making programming accessible to the masses. I think the secret sauce in Codecademy is that they know how to deliver challenging content in a supportive and encouraging environment.

  2. Linda

    Thank you for the nice words, very good insights you have here about teaching too. Have you seen our new groups feature? I bet there would be a lot of (women) who’d like to dip their toes in the open source world, but don’t know how. Sharing encouraging projects & words would be hugely valuable. Drop me a line if you’d like to build with us a group for beginners in Beijing area (or even world-wide)

    Linda – Codecademy Community

    1. Pkafei Post author

      Nihao Linda,

      Thanks for checking out my blog! Codecademy has put the fun into online learning, and is an important force in helping people build a new skill. I would totally love to collaborative with you. I have already sent you an email, and I looking forward to exploring this opportunity further :)

  3. louis vuitton shoulder bag

    And El Three louis vuitton shoulder bag probably should have been granted one in the actual 76th when Maurice Edu had taken lower Aquino out of regarding louis vuitton shoulder bag with a dropping take on. The particular Asian gamers were livid whenever absolutely no penalty appeared to be called, around Guatemalan umpire Walt Lopez.


Leave a Reply