Adjacent set of unfocused rants: are we even teaching them useful programming?
As a society, we’re obsessed with teaching “practical” knowledge by rote instead of learning how to learn. Are 1 month JavaScript bootcamps useful for people 5 years down the road? 10?
We teach kids how to learn, but they can do nothing useful with it even if they do care. Environments like Swift Playgrounds are cute, but they can’t be used to develop applications - for that, you need a Mac (and how to use it!) and a developer license. Even on Android, for “post-PC” children, especially in the third world, what good is their programming knowledge if there’s no good environment for it?
Likewise, nothing much can be really done with programming on device. It’s not like you can script or query Instagram - it’s all silos. AppleScript or Unix pipelines could be a model. (It seems Apple might start to resolve that a little with the Shortcuts app though.)
There is no question it’s not possible to teach kids “useful” in the professional sense programming in a few months course. Even adults for that matter. That’s not the point however.
For all talk about “digital natives” the kids have no fainest clue about how the things that define most of their waking life work. They only have an ad hoc mental concept of networking, casual exposure to what OS is, they rightfully fear malicious software and hacking but do not understand the vectors they work through nor what they can or can not do. Computers and smartphones are magic to them, to the extent that cars, electricity or airplanes never were for the previous generations.
My son had a programming course like that, it lays a decent foundation to how computers actually work, what they can and can not do. It’s a lot easier to explain how malicious program can work when a person has a concept of what a program is. There were also a bunch of classes with Micro:bit helping demystify what’s happening in countless devices around us.
Yeah. I think a lot of Lobsters users are in a “goldilocks” generation of computer knowledge - young enough to have the access or necessity to learn computers, but old enough to do it back when computers were hard.
I rolled a 20 on being in the right time to learn computers. I had Tandy 1000XLs in my kindergarden, with various educational apps, then around the 4th grade, I received a hand-me-down Commodore 64 with two cubic meters of books, wires, disk drives, disks, carts, an Atari with a keyboard, joy sticks, paddles, a koala pad, etc. I played with that a couple years, and my very next computer was a 120Mhz Pentium, Win95, no internet. After exploring almost literally every file on the thing, I got AOL, riiiiight before the web blew up.
Today, as you might imagine, I hate almost everything that is going on with computers. :/
Did you read the article? It’s basically a response to this exact critique, saying that focusing on the end product misses other benefits, like knowing what kinds of things programs are and are not capable of. This helps them make more informed decisions around privacy, etc. thruout their life regardless of career path.
Teaching children programming so they understand stuff doesn’t happen ‘because magic’, and to expose them to things they might like, are indeed good reasons.
Our lives are shaped by governmental, societal, and/or bureaucratic systems surrounding us, and we have learned civics so that we may understand how these systems work, how we may expect them to behave, and what our points of entry are to engage with them, help shape them, and even (though this is seldom taught explicitly) resist them. These reasons for teaching civics, I believe, also hold for teaching programming.
To an ever greater extent, our lives are also surrounded and shaped by programmed systems. By teaching programming and other parts of IT, we can give people a mental model of programs (including websites); help them understand what failure modes programs have, and how to work around that; teach how programs enforce their programmers’ ideas of success, and how to work around that; and teach them what points of entries they have to engage with existing programs and their owners, help shape them, and resist them. It would be terrible to teach our students how to actively engage with the non-automated parts of society, but not with the automated parts.
Whenever I read about the legendary programmers and inventors, these people sought out programming by themselves.
So I don’t have much hope that pushing these things onto kids would give such good return. The top tier potentials will already find their own ways.
You don’t need to know how computers work to operate in a modern society just as you don’t need to know how a car works to drive. It’s good to know but not necessary.
Given the availability of computers, the extra ‘discovery’ of potential, I think would be small.
So the whole ‘teach xyz to program’ seems like a mostly cost-ineffective boondoggle to me.
We can safely drop mathematics, physics and literature from school curriculums then. Most of the students aren’t ever going to be good at it, and talent will find the way.
Learning programming by yourself does not necessarily make you top talent, though we’d all love to entertain that idea. It’s certainly not worse with a self motivated learner who is actually aided by school system. Besides the “self learners” of old days didn’t come from Amazon jungle to a running PDP rack and started hacking. They still had the fundamentals of logic, maths and reasoning taught in the school.
If school failed me back then the same way it’s failing kids today, it’s by teaching students idiotic facts beyond the basics of reading, writing and math. Introduce kids to as many matters as you can in such a way to cultivate curiosity and you’ll have won.
The whole ‘teach xyz to abc’ is ultimately pointless if what you’re seeking is innovation. It’s super good if you’re raising cattle-citizen though.
This seems orthogonal to what @varjag is and @LibertarianLlama are saying. Llama seems to be arguing that being great at programming is innate and we shouldn’t bother teaching kids programming because they’ll never be great because if they were great they don’t need to be taught. And varjag is pointing out that education, historically, has not been about making the greats. Whether or not the quality of education is any good seems quite different than the question if if we should educate.
I’m not responding to @varjag, although there is a relationship between what we both say. What I’m saying is, teaching programming for the sake of teaching programming is indeed pointless, but then again, so is pretty much everything beyond basic math and reading skills (then again, there’s the case of the enormous amount of functional illiterates so I’m not sure even that is technically necessary).
You’re correct, of course, both matters are vastly different. I think they’re ultimately connected, especially if you’re after cost-effectiveness, which I don’t agree should be the target of education, but that’s also another matter.
My bad, I did not correctly express my idea. I mean every part of my education which required the absorption of data for the sole purpose of regurgitation at a later date. I’ve lived that through many different subject matters. If you’re just pumping facts into brains so that you get graded on the quality of your repetition, it’s not really productive, and the students end up losing much of what they “learned”.
Adjacent set of unfocused rants: are we even teaching them useful programming?
As a society, we’re obsessed with teaching “practical” knowledge by rote instead of learning how to learn. Are 1 month JavaScript bootcamps useful for people 5 years down the road? 10?
We teach kids how to learn, but they can do nothing useful with it even if they do care. Environments like Swift Playgrounds are cute, but they can’t be used to develop applications - for that, you need a Mac (and how to use it!) and a developer license. Even on Android, for “post-PC” children, especially in the third world, what good is their programming knowledge if there’s no good environment for it?
There is no question it’s not possible to teach kids “useful” in the professional sense programming in a few months course. Even adults for that matter. That’s not the point however.
For all talk about “digital natives” the kids have no fainest clue about how the things that define most of their waking life work. They only have an ad hoc mental concept of networking, casual exposure to what OS is, they rightfully fear malicious software and hacking but do not understand the vectors they work through nor what they can or can not do. Computers and smartphones are magic to them, to the extent that cars, electricity or airplanes never were for the previous generations.
My son had a programming course like that, it lays a decent foundation to how computers actually work, what they can and can not do. It’s a lot easier to explain how malicious program can work when a person has a concept of what a program is. There were also a bunch of classes with Micro:bit helping demystify what’s happening in countless devices around us.
Yeah. I think a lot of Lobsters users are in a “goldilocks” generation of computer knowledge - young enough to have the access or necessity to learn computers, but old enough to do it back when computers were hard.
I rolled a 20 on being in the right time to learn computers. I had Tandy 1000XLs in my kindergarden, with various educational apps, then around the 4th grade, I received a hand-me-down Commodore 64 with two cubic meters of books, wires, disk drives, disks, carts, an Atari with a keyboard, joy sticks, paddles, a koala pad, etc. I played with that a couple years, and my very next computer was a 120Mhz Pentium, Win95, no internet. After exploring almost literally every file on the thing, I got AOL, riiiiight before the web blew up.
Today, as you might imagine, I hate almost everything that is going on with computers. :/
Did you read the article? It’s basically a response to this exact critique, saying that focusing on the end product misses other benefits, like knowing what kinds of things programs are and are not capable of. This helps them make more informed decisions around privacy, etc. thruout their life regardless of career path.
Teaching children programming so they understand stuff doesn’t happen ‘because magic’, and to expose them to things they might like, are indeed good reasons.
Our lives are shaped by governmental, societal, and/or bureaucratic systems surrounding us, and we have learned civics so that we may understand how these systems work, how we may expect them to behave, and what our points of entry are to engage with them, help shape them, and even (though this is seldom taught explicitly) resist them. These reasons for teaching civics, I believe, also hold for teaching programming.
To an ever greater extent, our lives are also surrounded and shaped by programmed systems. By teaching programming and other parts of IT, we can give people a mental model of programs (including websites); help them understand what failure modes programs have, and how to work around that; teach how programs enforce their programmers’ ideas of success, and how to work around that; and teach them what points of entries they have to engage with existing programs and their owners, help shape them, and resist them. It would be terrible to teach our students how to actively engage with the non-automated parts of society, but not with the automated parts.
Whenever I read about the legendary programmers and inventors, these people sought out programming by themselves.
So I don’t have much hope that pushing these things onto kids would give such good return. The top tier potentials will already find their own ways.
You don’t need to know how computers work to operate in a modern society just as you don’t need to know how a car works to drive. It’s good to know but not necessary.
Given the availability of computers, the extra ‘discovery’ of potential, I think would be small.
So the whole ‘teach xyz to program’ seems like a mostly cost-ineffective boondoggle to me.
We can safely drop mathematics, physics and literature from school curriculums then. Most of the students aren’t ever going to be good at it, and talent will find the way.
Learning programming by yourself does not necessarily make you top talent, though we’d all love to entertain that idea. It’s certainly not worse with a self motivated learner who is actually aided by school system. Besides the “self learners” of old days didn’t come from Amazon jungle to a running PDP rack and started hacking. They still had the fundamentals of logic, maths and reasoning taught in the school.
If school failed me back then the same way it’s failing kids today, it’s by teaching students idiotic facts beyond the basics of reading, writing and math. Introduce kids to as many matters as you can in such a way to cultivate curiosity and you’ll have won.
The whole ‘teach xyz to abc’ is ultimately pointless if what you’re seeking is innovation. It’s super good if you’re raising cattle-citizen though.
This seems orthogonal to what @varjag is and @LibertarianLlama are saying. Llama seems to be arguing that being great at programming is innate and we shouldn’t bother teaching kids programming because they’ll never be great because if they were great they don’t need to be taught. And varjag is pointing out that education, historically, has not been about making the greats. Whether or not the quality of education is any good seems quite different than the question if if we should educate.
I’m not responding to @varjag, although there is a relationship between what we both say. What I’m saying is, teaching programming for the sake of teaching programming is indeed pointless, but then again, so is pretty much everything beyond basic math and reading skills (then again, there’s the case of the enormous amount of functional illiterates so I’m not sure even that is technically necessary).
You’re correct, of course, both matters are vastly different. I think they’re ultimately connected, especially if you’re after cost-effectiveness, which I don’t agree should be the target of education, but that’s also another matter.
“Idiotic facts” is a very curious term.
Are you referring to history? Facts about how society is structured and how laws are made?
The last time I checked our local education directives “innovation”was just one facet of the welll-rounded citizens it was aiming to educate.
My bad, I did not correctly express my idea. I mean every part of my education which required the absorption of data for the sole purpose of regurgitation at a later date. I’ve lived that through many different subject matters. If you’re just pumping facts into brains so that you get graded on the quality of your repetition, it’s not really productive, and the students end up losing much of what they “learned”.
This I can definitely agree with is not a good way to learn.