I see a bit of a contradiction there: you criticize teaching programming because it requires other skills, but then you also criticize efforts to teach programming from a younger age.
The reason I see this as a bit of a contradiction is that the efforts to teach programming from a younger age are designed to not rely on other skills. In fact, some of them don’t even require a kid know how to read yet!
I would argue that this knowledge of “programming” (which is probably more accurately called “logic” and “problem solving”) will actually help kids pick up other skills as they get older, not just programming!
thats pretty much the core question.
but that could be said for cooking or martial arts as well.
I do agree but school is pretty short and making a curriculum is tough.
And that’s the thing: there already is a time marked off for “computer class” in most elementary schools. But that usually consists of “learning typing” taught by a librarian, and playing “games” that were designed in the 1980s.
Code.org has plenty of pre-made updated curricula designed for teachers to update these “computer classes”. The teachers don’t even have to be programmers! But Code.org also offers workshops that will train teachers as well. Teachers have to take workshops anyway, in order to get raises, so why not let them take programming workshops?
So at the very least, all I’m arguing for is updating the “computer classes” that kids are forced to take, which Code.orghas already done. It all seems like such a no-brainer, so I’m always surprised when I see people arguing against it.
And don’t get me started on the time we would save if we overhauled how standardized testing works.
Jesus Christ, for real?! The Swedish high school system is a bit different, but we basically pick/apply for a set of classes, like social studies, natural sciences, etc, and this is the main emphasis. In addition there are different versions of them all. For example, in natural science some of them focus extra on science, some on computer science, some on math, etc. I went to one that had extra focus on math and computer science. We had:
Computer science (basically typing class, sucked)
Computer communication + operating systems (Cisco stuff mostly)
Programming in Java
Programming in C
All of those were obligatory. We have whole high schools dedicated to computer science. Jesus Christ.
I can agree with that for the US as well (my gf is a first grade teacher in one of the worst school districts in the country).
But the thing is, most elementary schools do have “computer class”, which is generally spent on outdated typing lessons (taught by librarians) and playing “games” that were designed in the 1980s. At a minimum, all I’m arguing for is updating those computer classes to teach problem solving and logic, using the curricula that Code.org has already designed, for non-CS teachers.
I would also argue that teaching problem solving and logic would also increase performance in other classes as well.
In upper comprehensive school we have at Finland courses called “house keeping” which basically consist of teaching cooking and cleaning skills. It’s super useful. At high school there are some amount of martial arts. Our teacher actually promised to give straight A if you can beat him at wrestling.
Also in the uk and have three children age 6,8,10. Both the 8 and 10 year olds have done been taught some scratch in the past six months. Teachers are certainly on a learning curve. Our oldest took in a scratch book that the teacher was quite excited about. She used it to give direction to the more advance kids.
Education is pretty difficult subject and the split between what schools should do and what parents should do seems to differ among people. Up until about 8 we make each one read to one of us most days, it really pushes on their reading/vocab even if it is a little boring to do. Simple things like getting them to hold a pencil correctly before they start school/nursery is a great help.
99.9 percent of children that do programming at school won’t go on to be “great” programmers but that is the same for most other endeavors. Early years a school can be thought of as a search to find what the child likes. They specialize later
It’s well worth giving all students a chance to try computer programming at a certain point, if only to eliminate a lot of the mystery surrounding the subject. I personally had the impression for a long time that programming was this thing that only math geniuses could do. This wasn’t aided at all by the fact that, in high school, while there was a computer programming class, being in the most advanced math track was seemingly a prerequisite for taking part.
For someone like me, who ended up getting into programming in a non-traditional manner (my degree was in English, and I always gravitated toward liberal arts subjects), I feel like I could have benefited from having a way into it earlier. There are some real problems with how we categorize computer programming on an institutional level. At university, for example, programming is tied up Computer Science, and even sometimes Electrical Engineering. If you even want to get involved there, you have to go down this intense path that’s more geared toward theoretical knowledge that will mostly only be used for academic research pursuits.
There just aren’t that many great ways into programming. It’s something we should probably fix, and the earlier the better.
There aren’t that many ways to get into the medical profession either and I don’t see people jumping up and down to teach primary school kids the basics of surgery.
C’mon… programming is a very, very specialist skill. Fewer than one in thirty people will ever have any use for it, if that. Probably a lot less. There’s no point in wasting the valuable (and very short) time kids have in education on something literally as fucking useless as programming.
I guess we have to agree to disagree, because I (respectfully) disagree with pretty much every point here.
I’m not saying we need to teach 6 year olds the intricacies of advanced computer science. I’m saying we should introduce some of the most basic, fundamental concepts, such as logic and problem solving. You’re right that we don’t teach surgery in elementary school- but we do teach basic science, biology, and hand-eye coordination. The reason we do this is not because every kid will grow up to be a surgeon- it’s because we should give them the chance to explore their interests, and because these skills come in handy for more than one thing.
I also disagree that programming is a specialist skill anymore. Sure, advanced algorithmic-level computer science is a specialist skill. But 67% of programming jobs aren’t even in the technology sector. And I’m not even really talking about programming- I’m talking about the general problem solving and logic you get from it.
As for wasting time, like I’ve said- the time is already there. Most elementary schools already have a time roped off for “computer class”. All I’m saying is that we should stop wasting that time, which I guess is the one thing we agree on.
That’s funny, I often thought that math geniuses were disadvantaged when doing programming since equality in maths and assignment in programming use the same = symbol but are quite different ideas, consider ‘y = y+2’, which makes no sense in maths but is perfectly acceptable in programming.
What’s missing from your argument IMO is logic / problem solving and creativity - taking it beyond fundamental concepts and allowing young people to apply logic / problem solving to the creation of something that interests them. The best of these schemes are all about getting beyond the abstract and making something fun - nothing beats applying knowledge to a real-world application, but that’s what’s missing in 95% of education.
There was a woman who brought her 9 year old daughter down to our hackspace a while back. Her daughter had had her own Pi for a few weeks, and had been involved with one of these schemes. She’d started off making stuff in Scratch, and by then spent the evening sitting in the corner programming a game in Python. I’ll argue with anyone who thinks that’s not awesome, and it would not have happened without schemes like this. ;D
Oh yea we do have cooking and martial arts clubs, but not part of the curriculum.
I agree programming is a very specialized skill.
True, I suppose. But thats also why our “computer / typing classes” teach us Microsoft Office. I have never seen a class that teaches how to type, Office is the first thing when working with PCs. I still type with or less 2 fingers and will always ._.
Teaching that in elementary school seems insane, we didnt even have much science classes in elementary school. Everyone was just screaming and pooping their pants D:
HOWEVER, on the topic of “general problem solving skill” - that makes a lot of sense, just like a detective figures shit out or how problems are generally solved in science. But then again you do exactly that in chemistry and physics class, also math.
You have a problem and formulate a solution - so that methodology is actually taught.
Its just very tedious and not fun at all, but thats because teachers are usually not good at their job.
Thats a whole different topic but most teachers I have ever seen are simple bad at their job and/or dont care. Even in university its like 70% bad and 30% good, because while a professor might have a huge amount of knowledge he knows nothing about Pedagogy, how to teach, how to relate and how to make it fun. And this whole issue is more and more important as students are younger, since adults might be willing to learn from the get go.
But I’ll just point out: how many people use a computer at their job? How much easier would those jobs be if they knew just a little programming?
A small example: the other day I had to take some files in FORMAT_A and convert them to FORMAT_B. It wouldn’t have been a big deal to manually convert a few of them, but I had thousands of these files. So I wrote a dumb little program that did all the reformatting for me in a matter of seconds, then told my boss it would take the rest of the day and went out to the bar. (just kidding about that last part)
In pretty much every field, knowing a little bit of programming gets you much further than not knowing any. That’s not the specialized, doing-nothing-but-programming jobs you’re probably thinking of. And that type of “general programming” is only going to become more in-demand.
And you really think that spending entire classes on Microsoft Office is better than adding a bit of logic and problem solving to those classes? Existing “computer classes” are so dull and borderline unnecessary. Why not make them actually applicable to modern society?
Nobody is arguing that Microsoft Office should be taught to elementary schools. We’re arguing that logic, problem solving, and creativity should be taught, and that basic programming is a great way to teach those things. And elementary schools definitely have basic science classes. Maybe elementary school isn’t the same thing everywhere- maybe you call what I’m talking about primary school?
If logic and problem solving are already taught- then why is that the biggest hurdle for novice programmers? Taking a problem and breaking it down into smaller pieces is one of the hardest things about programming for novices. I’m just arguing that we should teach those skills earlier.