Skip to content
Swizec Teller - a geek with a hatswizec.com

Freelance teaching is great, or why C/Java/etc. are horrible teaching tools

  • Main Building

    Image via Wikipedia

Seriously why aren't there more teachers in the world? What a bunch of charlatans.

But I'm getting ahead of myself in this story.

Last week I was doing a lot of freelancing as a teacher and instructor in the dark arts of programming. There was this kid who desperately wanted to get a passing grade on a test this Wednesday. And there was this guy with a hat who has never in his life done any teaching and has spent all his life adamantly convinced he's got no patience of such things. But he could do with some money in his pockets.

So the story begins. We had a three hour session almost every day and an even better reward than the easiest lump of money I ever made, was the fact that kid suggested, and seriously meant it, that I should think about becoming a teacher when I "grow up". It was truly quite marvelous.

And all I did was explain some basic things to him and make him think.

Which brings us to the next question. Why was it that this poor bastard who has spent almost a year at the hands of professional teachers even needed someone to explain to him how a for loop works? How to distill an algorithm out of a problem description? How to ... stuff?

I mean, seriously. What the hell!?

They trouble these young dudes with details like variable types, function prototypes and the fact that this thing called Dev-C needs a System("PAUSE") at the end.

All the while they don't even understand that a variable will just keep its value and that this (and loops) is the basic principle behind everything a computer does and that you can change the way a computer does something by tweaking values in variables.

Pretty pathetic if you ask me.

When I was a little dude in that kid's shoes I hated flowcharts and I hated everything to do with real programming. All I wanted to do was pump out functioning code. But the thing is, far before that there was somebody to instill The Way a Programmer Thinks in my head. I already knew most of the basic stuff.

But for those who don't understand thinking like a programmer. Who can't empathise with a computer. They need a different learning method and schools and universities (at least around here) are horrible when it comes to that. All they ever do at school is try teaching you languages before you even learn how to talk.

Ever tried speaking a foreign language right out of the dictionary?

That's how people try to teach you programming these days.

It sucks and it's got to change.

Personally I think pupils should be taught to do nothing but programming for at least a year when they start. Then, maybe, they could start getting into coding.

Reblog this post [with Zemanta]

Did you enjoy this article?

Published on May 3rd, 2010 in Education, food for thought, Language, Learning, life, Teacher, Uncategorized

Learned something new?
Want to become a high value JavaScript expert?

Here's how it works 👇

Leave your email and I'll send you an Interactive Modern JavaScript Cheatsheet 📖right away. After that you'll get thoughtfully written emails every week about React, JavaScript, and your career. Lessons learned over my 20 years in the industry working with companies ranging from tiny startups to Fortune5 behemoths.

Start with an interactive cheatsheet 📖

Then get thoughtful letters 💌 on mindsets, tactics, and technical skills for your career.

"Man, love your simple writing! Yours is the only email I open from marketers and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"

~ Ashish Kumar

Join over 10,000 engineers just like you already improving their JS careers with my letters, workshops, courses, and talks. ✌️

Have a burning question that you think I can answer? I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

Ready to Stop copy pasting D3 examples and create data visualizations of your own?  Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev

Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️