4 ms·
I always suggest starting with Why: Me: "Why do you want to learn to code?" Them: "Because I want to build X, or I want to modify Y, or I'd like to learn how
by raamdev 13y ago
I always suggest starting with Why:
Me: "Why do you want to learn to code?"
Them: "Because I want to build X, or I want to modify Y, or I'd like to learn how to do Z but it seems like I need to know how to code first." (This is the ideal answer but in reality it's usually not the one I get. "Uh, I donno... because it looks cool or fun or I can get a really good job," is the more common answer.)
If someone doesn't know why they want to learn something, they will be more likely to give up as soon as the learning gets tough.
By the time I was 12 I had spent 4 or 5 years playing with computers, taking them apart, building them, and spending lots of time playing games.
One day I asked my dad, "how do they make those games on the computer that I've been playing for the past few years?" I wanted to know how so that I could tinker and build my own games too. My dad was a technical writer at the time and the only programming language he knew of was a language called BASIC (this was the early 1990s) and suggested that I pick up a book the next time we were at the book store. (That led me from QBASIC -> Visual Basic -> PHP, of which I'm currently most proficient. I wish he had told me "C" or "C++"; my life would've taken a much different route.)
When I started digging into Python a few years ago, it was because I wanted to build a script that connected two APIs and manipulated some XML. I knew through the grapevine that Python was a good language for that, so I dug in. It got tough, but I had a goal in mind. There was something tangible that I was working towards, a light at the end of the tunnel that I could keep aiming for no matter how long it took me.
I cannot understate the importance of knowing why you're doing something, especially when you're learning a new skill. (I think this applies more to adults than to children.)
- doktrin 13y ago> That led me from QBASIC -> Visual Basic -> PHP, of which I'm currently most proficient. I wish he had told me "C" or "C++"; my life would've taken a much different route. I started with QBASIC as well. I was 12 years old in Japan in the late 90's, and I distinctly remember searching through stores for a C++ book in English. Never found one, and haven't used the language to this day - although I have worked with C. I occasionally fantasize about what it would have been like to tackle such a comparatively complex language earlier in my journey. However, who knows how things would have turned out. C++ is by all appearances quite an intimidating beast even for diligent adults. Not inconceivable that it could have discouraged a kid who was approaching it solo. QBASIC is fun. As a result, my earliest memories of programming are incredibly positive. That alone is worth quite a bit, and has had a significant impact on my life.
- raamdev 13y agoI never considered that perspective, that the difficulty (and dare I say, ugliness) of the language might've discouraged me early on. A prior job in Cambridge, MA paid for me to take any course I wanted at Harvard Extension School (a branch of the esteemed Harvard school) and I picked an intro C programming class. I learned a lot, but mostly I learned how challenging it was and how annoying programming in C could get (i.e., how easily I could become discouraged). I've always assumed that my difficulty becoming proficient with C/C++ was due to the fact that my brain started learning on BASIC, which wasn't nearly as "close to the machine" as C is. What I loved about that C programming class was how much I was learning about how the physical hardware worked (e.g., pointers; most people in the class seemed to hate pointers but I loved them).