The takeaway for me is: “There are no books that teach you how to solve a problem no one has seen before.“
That’s exactly how I summarize my 41 year career in software development: as creative problem solving. Usually, software was involved but the best program is the one you don’t have to write because you solved the problem some other way.
What a great way to teach children.
"Coding is like that. Try something. See if it works. Try again. If a problem was straightforward, it would be automated or at least solved with some open-source code. All that’s left is the difficult task of creating something unique."
gotta remind myself this sometimes whenever i'm stumbling in the dark.
'why am i so fuckin' stupid?'
no, you're not stupid. you're coding.
i've seen more than one programmer, who himself once performed the lowly task of learning syntax, now say programming is an art form and tries to give lots of yoda/wax-on-wax-off guidance to becoming a programmer.
the kid is interested in how a chair works, hand him a wrench. if he's curious how a computer works, teach some syntax.
Try something. See how it works. Try again.
Try something. See how it works. Try again.
A very good point. I did teach my son to code about 20 years ago, I'm not sure if I accidentally did it right or what, but he writes clear and useful programs. Of my six kids, he's the only one who's shown the slightest interest in the subject, I wouldn't even consider teaching coding to any of his younger siblings.
yep, great point: "showing interest in the subject" is key. every kid (and every human for that matter) likes something and that something is what they should focus on and learn about. coding isn't for everyone the same way that novel reading or watercolor painting or karate isn't for everybody - simply because the world's too big and too wild for anything to be for everybody.
Love this article, love the comments.
In the US, the entire education system is in disrepair. Alt titles for this article include:
Agreed. I hope we don’t incur a baby/bathwater situation here, though. It’ll be easy for some to demonise coding and computing, when in actuality both can be creative pursuits.
Seems to me that the larger part of the problem here is pedagogy. Makes me think of The School for Poetic Computation and all the good work they’ve done.
There’s a good point being made here, but the title reads like click-bait and is itself a questionable premise. If I understand the stance the author is taking, it’s more about challenging what’s thought of as “teaching coding” than suggesting that kids should not be taught to code...
True about the title, but I generally don't mind so much as long as the article itself is good. Especially after learning recently that many authors don't even get to write their own headlines. Maybe most people know this but I was very surprised!
Fair point, and if this author wasn’t responsible for the title, I sympathise.
Solid point. The two are not mutually exclusive.
As strange as this may sound, as a kid I learned how to problem-solve by playing pirated games on my C-64. No instructions, figuring out what key did what, then figuring out what the game was about and how to win it. It was a combination of rote memorization, blackbox testing, and logical reasoning. :)
Raising a flag for the Amstrad 464 crew. :)))
I was ready to completely disagree with this article based on the headline but I think it's actually dead on. Syntax might be the least important aspect of programming but I've seen quite a few online courses that focus on it almost exclusively, probably because it's the easiest thing to test. It makes total sense that helping kids take things apart, learn how they work and put them back together is a better approach. Once they've got that down they can apply it to the more abstract and frustrating version that is programming!
My son, who I taught to code 20 years ago, is now applying these concepts of how things work together to learn electronics. I'm leaving him to do it at his own pace, using the feel for how things work to guide him until he gets to the point where he needs formal electronic theory. I'm not sure I'm disciplined enough to teach him that, he might have to take some college courses for that. I took electrical engineering in college many many years ago, and they took the "syntax" approach to teaching electronics. The theory learned was invaluable, but only if you had practical experience as an electronic technician or serious hobbyist before you started college. The people who went in "fresh" graduated being able to do great things with math, but couldn't develop a solution to a problem to save their lives. When I wound up working in the field, these people were helpless and the things they "designed" were mostly truly designed by electronic technicians and circuit designers who worked under them, and then they just signed it off. The other day I met someone who didn't know I had an engineering degree and he told me that when an engineer was graduated they scooped out his brain and stamped "moron" on his forehead. A pretty common opinion amongst technicians and machinists. Think back to the way I was taught, and how useless that learning would have been without my years of practical experience as a technician and hobbyist, I just had to at least partially agree with him. It's pretty much the same thing this article says about coding.
J! I thought it was my dad typing up there lol. He was a 'technical' electrical engineer for years per the Dept. of the Navy. Technical meaning he had past all the tests and had the experience and training - but no degree. When the Depot he worked at hired new engineers they would send them over to my dad so they could learn how to apply the theories they knew. My dad talked about getting a degree for years, then when I was in high school he got a business degree and jumped into the business office of the depot. People loved him because, once again, he had the floor experience to know how things worked in the depot while being able to apply the business models and financials in the office.
I'm totally with you on the importance of both practical experience and theory. I'd actually put the syntax approach, at least the examples I've seen, into a separate category of rote memorization. No high level theory but also no real free-form practical building experience. One of the examples I remember from Codeacademy basically just showed you an example of how to set a background color on an HTML element in CSS and then on the next screen asked you to write the declaration yourself and would check if the syntax was valid. If I was teaching someone how to program the first lesson would be how to find documentation for the language you're using and keep it open as a quick reference rather than trying remember the exact syntax of a for-loop.
Also while I too would at least partially agree with the criticism of engineers I feel like a lot of technicians and machinists overlook the fact that many competent engineers will have their designs undermined or constrained by their MBA overlords.