Learn Why to Code

A brief introduction to practical programming

Next: The Project »

Why Learn Why

The problem: Programming is too hard and filled with too many technical details.
The solution: First learn why programming relates to your goals and ideas. Then learn programming.

Lesson content is currently in draft form.

This lesson was originally titled, “Learn How to Code in Six Hours.” But that wasn’t going to happen, not if the goal is to learn code well enough that – six hours later – you don’t give up out of frustration and confusion.

It takes longer than six hours to learn how to use Microsoft Excel, speak French, play the guitar, or drive a stick-shift. So why would programming be any different? But eventually we do learn those other skills, even if we hate the tedious process of learning them. Sometimes a job or school forces this on us. Or, before we take the time to learn, we’ve realized why these skills will make our lives better.

This “Learn Why to Code” curriculum skims material that might take six weeks or even six months of moderate study to adequately cover. The lessons were designed for a six-hour workshop.

In 24 hours, I would be surprised if anyone at this workshop will remember enough exact code to add 1 and one together. But that’s not the goal here. Even if you never touch code again, hopefully you’ll recognize the patterns and situations and tasks that programming applies to.

And if you’re someone who wants to spend more time thinking and creating in our increasingly data-filled world, I’m betting you will take the next steps in learning programming. The questions that stall most beginners – How hard is it? What language should I use? Where do I start? – are far easier to answer when you know why programming is useful.

Focus on the ideas and concepts, not the technique or code.

Putting why before what

If you follow the lessons here (note: after I’ve finished editing and publishing them), you will be doing something practical and concrete. Even if you copy-and-paste your way to the end. If I want to meet a six-hour cutoff, we have to accept that we won’t understand everything at first.

The content and structure of the lessons is a little non-traditional. Instead of starting with the programming concept, we think about the actual problem that we want to solve. And then we find the programming concept that will help us.


Take a look through the contents and browse through the material as it becomes ready. Feel free to leave comments, questions, and suggestions in the feedback section at the end of each article. Follow me at @dancow on Twitter for updates.

Comments