I'm here to teach you the art, science and philosophy of computer programming. This is unlike any programming course you've seen or taken. It's highly personalized, one-on-one, and focuses on hands-on learn-by-doing methods. You'll be working with me, an experienced software developer that wants to share this powerful knowledge. Let me tell you a bit about myself.
Loving video games and robots as a young child, I just as fast found myself spending a lot of time with computers. I couldn't tell you how I became so attached so early. Maybe because they were so dense with complexity I could just spend hours exploring and learning how to do things with them. It was unlike any other toy! Needless to say, I quickly discovered programming. Especially since many of the computers I had access to had to be programmed just to be used.
Growing up here in the Silicon Valley, I looked up to a lot of the local heroes and ended up learning a lot about the local (and non-local) history of computers. I fell in love with the culture behind it, the hacker culture. Not the distorted vision of hackers McAfee and popular media sell you. The real hackers. The ones that gathered at the Homebrew Computer Club. The ones that built the personal computer. The ones that brought us the Internet. The ones that are curious, creative, and fun. Pragmatic and self-motivated. This was the archetype for who I wanted to be.
I've been using computers since I was 5. I started programming when I was 8. Professionally at 13. However, I've become more of a generalist than a specialist... after all, computer science was a cross-disciplinary field from the beginning. Now at 22 I've found myself making a living programming, both as a consultant and running my own startup. I also started a modern Homebrew Computer Club called SuperHappyDevHouse where programmers and hackers learn, share and discover in the same spirit as the hackers I grew up idolizing.
Curious for as long as I can remember, my interests have slowly grown in all directions. Science, philosophy, design, history, engineering, music, writing, business... and more recently I've been very concerned about education. In 2007 I held a small conference on education reform at Stanford.
Since then, I've been very interested in teaching and trying to spark the same sort of passionate curiosity I have. Especially about this thing called computer programming. Just as digital media allows music and video to flow between us like the lifeblood of culture they were meant to be, programming in today's world lets you solve problems on a global scale as easily as your own.
Think about it, computers are going to be everywhere, more than they already are! Networked and connected. Programming in a world like that is not much different than magic in a fantasy world. What did you think would happen when the nerds playing D&D ended up building what most of our lives depend on?
The funny thing is, programming is not that hard. It just takes practice and motivation, not unlike dancing, painting, or a musical instrument. What's more is that it's fun. Why do you think most great hackers were self-taught? Let me make it easier for you, let me pass on the best of what I've learned as I guide you through the basics to advanced programming wizardry.
Lessons are online using Skype and a screen sharing plugin that allows you to see and control my computer. That means that there are no other requirements on your computer to start learning how to program. As we get into the lessons, I'll advise you on how to program on your own computer, but lessons will continue to be online.
Python, Ruby
I'm pretty flexible about this now as far as lesson prices and payment methods. Since the lessons are online I'll prefer an online payment method like PayPal. After initial discussion to start lessons, I'll take payment before or after (but not too long after!) each lesson.
Programming, Computer science, Software engineering
April 2008