Why Teaching Everyone To Code Is Delusional

HardOCP News

[H] News
Joined
Dec 31, 1969
Messages
0
This guy says teaching everyone to code is delusional. Is he on to something or just on something?

Through the years, I’ve watched program directors demand young people focus on foolish content because it lined up with something trending in the public discourse—units on climate change; modules about using social media to share stories; lessons on agricultural policy; and so forth. What have I learned? The attention of a young person is tremendously valuable. We should stop teaching them whatever makes us feel good and get honest about the next fifteen years.
 
Teaching everyone in the developing world to code (and nothing else) is probably delusional but teaching them STEM curriculum (including some coding as part of that) is probably useful (heck ... I had to learn FORTRAN programming in the 80's as a mechanical engineer and we had fewer computers back then) ... coding is a useful tool, just like logic, math, technical writing, and other tools ... we should make sure that isn't the only tool we give them but it is just as useful a tool in the aggregate as any of the other tools of technology ;)
 
Before everyone goes off on rants based solely on the headline, the larger point of the article is that some of these education efforts in 3rd world countries don't take into consideration the environment these kids live in, and what will truly have the most impact in their lives. They teach them things that sound good but are not likely to make a difference. Why teach programming if most of them don't even have a computer or internet access or reliable electricity?

Then the article tries to promote education in agriculture and community improvement. Which i wholeheartedly agree with. Most of these places don't even have working toilets. Once you've solved the problems of food, water and sanitation, then you can start thinking about bigger endeavors.
 
I took a BASIC programming class way back in high school over 25 years ago. And I have to say it was the best public school class I ever took, because it was the first class that actually tried to teach me how to think through a problem instead of just memorizing and repeating something out of a book like every other class. My daughter is 8 and I've already started teaching her and it has helped her a lot with how she handles other classes. So yeah, I think at least some introduction to programming should be taught in schools. Not so much trying to turn every kid into a future programmer, but to get them thinking in ways that school doesn't teach anymore.
 
The point is to teach people critical thinking skills with various tools. They may or may not use those skills directly, but problem solving skills are always worth sharpening with various approaches.
 
I kind of get what the article is saying, and I'm more so thinking here in the US. The whole code.org and learn to code thing swept through here when it started and teachers were excited to shove their students into it. These kids aren't all the greatest when it comes to math, logic, heck paying attention - that is to say some of them really suck at the basics. However I can remember wanting to be in programming when I was in heigh school and being rail roaded out of there by the department director who showed me my math score was too low but seeing several others in the class with lower scores.

These classes are being lead by teachers that are in secrete actually learning with the students, will send me notices that the internet isn't working because MSN refused to load. This makes me wonder how well are they giving instruction. The real point is: What are we expecting out of this program anyway; to make actual programmers or to just give a taste and basic skill and approach? Is this actually a response to growing automation?

I'm all for teaching programming as a part of a group of things. I think there should be courses teaching coding in the general education field to enhance things like logical thinking, just like the scientific process is (or should be) taught to everyone. More so I think everyone should be also given a general technology course. How computers generally work, server client, networking, with a big focus on trouble shooting. Again this is not so they can rip open computers and fix them, but the logic of doing so while giving them information on how the world around them works.

I think logical thinking more than the actual skill - as a broad skill given to everyone, is more valuable. People push a button on a machine these days and if it doesn't work they give up. They don't think to look for lights or follow the cord to see if it's plugged in. Lastly but not least, the hunger for more information and knowledge is oh so important to creating a self drive to better ones self. If the current program does that then it's well done it's job.
 
I think the best approach to this issue is to consider a programming language like any other language. In school, you typically have to learn at least one foreign language. Substituting a programming language for that requirement is a good idea. Optimally students will learn both a second (foreign) language as well as a programming language, of course, but what I mean is that programming should be considered equally important. There's a lot more to learning a foreign language than just being able to speak it; you learn parts of speech, you learn subtlety, you learn about culture, etc. Likewise, learning a programming language teaches you about mathematics, statistics, and much more. There's value in both.

In other words, stating that teaching everyone to code (a programming language) is "delusional" is like saying teaching everyone a second language is "delusional." Most of the best minds in history were multi-lingual and it has long been the benchmark of education. I think programming should be added to that description, as any Renaissance man (or woman) of the modern age needs to understand programming and everything related to it just as understanding French hundreds of years ago was beneficial to an aristocrat. Education has extended to the average person so more than just a single class of person should have a programming background.
 
I agree, now lets calculate how worthless this statement is with the quadratic formula.

If anything, the reason why people should learn to program is an exercise in critical thinking. It's the same reason why we teach people about worthless math equations that they'll never use.

quadraticformula-jpg.jpg
 
Teaching everyone programming would be like teaching everyone how to rebuild an engine.

Its dumb and unnecessary, programming is a specialised task, not a generalized one like Math or Reading.

Its pretty similar to the whole "Everyone needs to go to college" mentality... no they don't. If everyone had a bachelors degree, it would become equivalent to a GED.
 
I like how the quoted text tries to dismiss important subjects as frivolous trend chasing.

Climate Change: A is real, world wide, problem that we have in common with all humans. It is a fantastic opportunity to show the impact of humans on the planet and the planet on humans. It can show us what some one in Minnesota has in common with some one in Bali.

Social Media: This is so incredibly important for children. Learn how to protect oneself online, avoid predators, and see how pictures can be leaked. Good housekeeping for things like passwords and online profiles is essential. My 44 year old uncle shared a full picture of his 16 year old son's drivers license on Facebook. Neither one of them saw the inherent problem there. Consider teaching everyone basic cyber security as vaccination. It can raise a basic level of herd immunity for the rest of us.

Agricultural Policy: So now food is a fad? Every time we see open land, we should just want to put a strip mall there? No value in responsible land management I guess.


As others have stated, coding is an important tool for people to have in their problem solving toolbox. Maybe they do not turn in to app developers overnight, but some day, they will be able to apply those principles to a problem they would never have dreamed of at the time. Should we suspend gym class, because only a fraction of a percent of students go into professional sports?
 
Teaching everyone programming would be like teaching everyone how to rebuild an engine.

Its dumb and unnecessary, programming is a specialised task, not a generalized one like Math or Reading.

Its pretty similar to the whole "Everyone needs to go to college" mentality... no they don't. If everyone had a bachelors degree, it would become equivalent to a GED.

Teaching everyone to be a programmer would be ridiculous but there is nothing lost by making sure that everyone has a little technical knowledge in their toolbox ... when I went to school for my engineering degree I had to take 6 non-technical courses, dubbed as the token humanities credits by the engineering students (18 credit hours out of the 130 needed to graduate) ...

I see nothing wrong with the opposite approach (give all non-technical college students 18 hours of technical courses like math and programming) ... it gives the students a little more breadth of knowledge and gives them some slight understanding of the things outside their detailed field of study ... even if you ultimately end up a farmer or a lawyer or a cop or a soldier you will have been exposed to something broader ... and that is a good thing in my book
 
I agree, now lets calculate how worthless this statement is with the quadratic formula.

If anything, the reason why people should learn to program is an exercise in critical thinking. It's the same reason why we teach people about worthless math equations that they'll never use.

quadraticformula-jpg.jpg

I hate you so much right now...

813b93e5df1538ac8c85c253f59362a6.png
 
basics like if/then statements would probably help develop logical thinking...
 
The "new kids on the block" should learn to code so that they can create their own languages thus creating their own end to end type of encryption for their communications so they can baffle the "powers that be" that want to spy on everyone. It'll also baffle the hackers too. Everyone will have their own "coded language" between their friends and families. Because we have predators, NSA and the hackers, so prominent in our digital lives, it is just natural to disguise our identities and our communications from those predators.
 
Teaching everyone programming would be like teaching everyone how to rebuild an engine.

Its dumb and unnecessary, programming is a specialised task, not a generalized one like Math or Reading.

Its pretty similar to the whole "Everyone needs to go to college" mentality... no they don't. If everyone had a bachelors degree, it would become equivalent to a GED.

I have a GED, and three guys with bachelors degrees work for me, education isn't everything.
 
Its pretty similar to the whole "Everyone needs to go to college" mentality... no they don't. If everyone had a bachelors degree, it would become equivalent to a GED.

Except there are too many people in this world that would never hire someone without a degree.

I've known managers that would hire a person with a degree in basket weaving over someone with 10 years experience but without a degree. Needless to say this manager looked down on my simple AA degree, while I was running circles around the people he hired (and paid significantly more). Eventually he was gone as where most the people he hired :)

It's sad, but not having that piece of paper will hold you back. The days of getting in at the bottom and working your way up are largely gone.
 
Teaching everyone to code is delusional. I've seen people from top CS universities as programmers who are terrible at it. They did it for the money. It's one thing to learn logic, and another to apply logic. In my honest opinion, coding is an art form. School might be able to help you learn the basics, and you might be able to create that VB Forms page which is good enough for most people, but complex programs can end up as spaghetti code garbage, or an incredibly buggy pos.
 
I can strip a PC and rebuild it in no time. I can fix most issues with operating systems and do stuff with laptops and desktops that 'ordinary folks' think is black magic.

But coding? Nope...just don't get it. I managed to bluff through my 1987 Computer Studies O level but that was it. I was sent on a Lotus Script course for work many years ago. I didn't want to go but my boss ordered me to. Anyway my participation in the two day residential course ended 15 minutes in when I had to ask

"Erm excuse me...but what does concatenation mean?"

You could hear the eye rolling.

I just sat in the corner with a book for the rest of the course. Still got a certificate though...
 
There are two faults with the idea

One is that although people don't need to become proficient, they should have some idea how computers work and programming is a big part of that demystify it. Otherwise you put people at the mercy of others who could bs them at what a computer can and can't do.

The other is that programming is useless without a purpose like supporting engineering, photo/video editing, geology, etc. There's a few areas where the majority of math (like that used in 99% of accounting) could be understood by a programmer in as part of his job. But most areas require a depth of insight into that field cannot be reasonably picked up by a programmer. You can partner a knowledgeable person with a programmer but that will not be as good if the experienced person knows what programming can do for him or better yet can code themselves an visa versa. In other words programming is pretty useless without being in synthesis with another field or fields.
 
Teaching people to code is one thing

Teaching people the RIGHT thing to code is another

I went to university just before the dot com bubble burst, and the language of choice for them to teach in UNIVERSITY?

Java

Fucking, Java. Cause it was "The big thing" at the time

Not assembly, not C++ or even Pascal. Java.

So yeah, flunked the course cause they refused to offer a refund cause I had zero interest in learning such a shitty language, years later people I know in that class had to go learn real languages by themselves after the dot com bubble burst, but by then I was burned out on trying to be a programmer

But that's why schools teaching "Trending" programming languages is fucking stupid, they should be teaching you practical/effective languages
 
And you know what they teach now in university? Python. Yes, Python, an actual programming language that is used for things, and not Java

Anyways, maybe I'm just very bitter because of that shit and its soured my view of programming languages in school, but you should never teach "What is popular" you should teach "What is most effective"
 
Teaching everyone to code is delusional. I've seen people from top CS universities as programmers who are terrible at it. They did it for the money. It's one thing to learn logic, and another to apply logic. In my honest opinion, coding is an art form. School might be able to help you learn the basics, and you might be able to create that VB Forms page which is good enough for most people, but complex programs can end up as spaghetti code garbage, or an incredibly buggy pos.

This i can relate too. Proper understanding of cohesion and coupling must accompany any type of OO-styled programming teaching. Unfortunately, this is hardly ever the case and the code result is some serialized mess that looks like structured crap out of the 80s.

In the end, teaching everyone to "program" will merely enable bad habits / bad code / bad programmers and make things harder for the legit programmers who have to go in and make things right.
 
Teaching people to code is one thing

Teaching people the RIGHT thing to code is another

I went to university just before the dot com bubble burst, and the language of choice for them to teach in UNIVERSITY?

Java

Fucking, Java. Cause it was "The big thing" at the time

Not assembly, not C++ or even Pascal. Java.

So yeah, flunked the course cause they refused to offer a refund cause I had zero interest in learning such a shitty language, years later people I know in that class had to go learn real languages by themselves after the dot com bubble burst, but by then I was burned out on trying to be a programmer

But that's why schools teaching "Trending" programming languages is fucking stupid, they should be teaching you practical/effective languages

No offense, but sounds like some whining to me. And in general a big mistake.

If you couldn't have gotten a refund you should have just taken it. Programming languages overall are simply divisions that each serve a general set of concepts in a slightly different way (well, sometimes a markedly different way if we get into stuff like lisp, but let's not). So learning Java (or hell anything) would have given you fundamentals that would have allowed you to program in any language. I mean programming isn't inherently that complicated. You simply have your if/for/while and your functions (and objects and other crap, but you get the picture). Just because you learned a language you don't necessarily need currently doesn't mean knowing it isn't a valuable. One of the largest changes between languages is simply syntax and other minor tweaks. We mostly code Perl and shell around here, but I have a coworker that's helping her relative take Java. It's not that hard to swap around.

Hell my first language that I learned in college was MATLAB. Then I went to coding C in my very next class. Matlab itself hasn't been terribly useful outside of college, but who cares? The concepts I picked up in it could be spread to anything. The only thing I found really confusing when doing C was pointers. And I got them eventually.

This i can relate too. Proper understanding of cohesion and coupling must accompany any type of OO-styled programming teaching. Unfortunately, this is hardly ever the case and the code result is some serialized mess that looks like structured crap out of the 80s.

In the end, teaching everyone to "program" will merely enable bad habits / bad code / bad programmers and make things harder for the legit programmers who have to go in and make things right.

OOP has its time and place. It isn't necessary to use it for everything, so "serialized messes" (well perhaps without the mess) aren't necessarily bad. For instance when coding a microcontroller program in college, I tended to code procedurally rather than OOP. In fact that is what most of my professors did and what most of my classes taught me. IIRC procedural tends to perform faster and more lean for tasks like that. Writing huge objects with (sometimes nested) function calls isn't exactly very lean. Each style of coding has its time and place.
 
I agree with this. I also think this is part of why we need some kind of new economic paradigm. We've started to reach some limits, I believe, of mass education and human intelligence. But with the "floor" of jobs that can be done by machines ever rising, you will have more and more people left behind.

Do we simply call them useless takers and let the diminishing number of people with relevant skills continue to reap all the gains or...? And I don't know what the answer is, I don't believe it's any system we've seen yet.
 
I don't know, a simple introductory course might make sense. That way the kids will know if they have an aptitude for programming. I might not have pursued a job in programming if I'd never taken programming courses in Elementary and High School. I don't think that programming is for everyone, but making one entry-level programming course mandatory in high school might help some kids discover they're good at something.

Not everyone is going to be a good programmer, but this might actually direct some new talent to the right job and right now we have a big problem with the number of students taking IT programs being significantly less than the number of IT professionals retiring. Don't get me wrong, this is great for me (and probably you) but it's not sustainable and I'm sick of talking to young people who have spent 4+ years in post secondary to be qualified to work at McDonalds. Seriously, a BA in History is totally worthless when it comes to finding work.
 
I like the idea of trying to give at least an introduction to programming. It doesn't mean everyone will learn to code, but at least they can take away some of the basics.

FSM knows I've been surprised* when I TA'd a lower level computer science course. Some of those people couldn't learn to code if a beloved relative's or pet's life was at stake.

*not in a good way
 
I have a MS in Comp Sci and have been teaching programming in college for 14 yrs now. Not everyone needs to learn to code. Some people just can't. I've seen it many times, but it doesn't mean the person shouldn't pursue another tech related field.
 
I couldn't edit my other post so let me add that we do offer an intro course to web, database and programming. Students get a taste of all 3 and can then decide if that want to go in one of the 3 directions.
 
And you know what they teach now in university? Python. Yes, Python, an actual programming language that is used for things, and not Java

Anyways, maybe I'm just very bitter because of that shit and its soured my view of programming languages in school, but you should never teach "What is popular" you should teach "What is most effective"

Python is less complex than Java. Java is much closer to C and C++.
 
Hell my first language that I learned in college was MATLAB. Then I went to coding C in my very next class. Matlab itself hasn't been terribly useful outside of college, but who cares? The concepts I picked up in it could be spread to anything. The only thing I found really confusing when doing C was pointers. And I got them eventually.

MATLAB! My first language too.

Also, I'm not a huge fan of Java, but that language isn't all that bad. There are far worse things in the world, ahem, PHP.

Anyhow, I think kids should get some sort of basic education in computing in general. Teaching them how to code is probably overkill, though I think everybody should have the opportunity to learn if they're interested.

And while I agree that learning to code can be a path to learning how to solve problems, there is a whole bunch of extra bullshit (syntax) you have to cut through before any actual problem solving begins. Teaching problem solving is more about teaching a mindset then it is any specific set of technical skills.
 
I agree with this. I also think this is part of why we need some kind of new economic paradigm. We've started to reach some limits, I believe, of mass education and human intelligence. But with the "floor" of jobs that can be done by machines ever rising, you will have more and more people left behind.

Do we simply call them useless takers and let the diminishing number of people with relevant skills continue to reap all the gains or...? And I don't know what the answer is, I don't believe it's any system we've seen yet.

You are one smart dude. I kind of feel the same way on the starting to peak intellectually. There is definitely a human limit to how complex we can be without specialization. As humans of course we like simplicity and want to be well rounded so everyone will learn basic coding and understand how all the widgets work together. That wasn't that bad when the widgets weren't so complex.
 
Teaching people to code is one thing

Teaching people the RIGHT thing to code is another

I went to university just before the dot com bubble burst, and the language of choice for them to teach in UNIVERSITY?

Java

Fucking, Java. Cause it was "The big thing" at the time

Not assembly, not C++ or even Pascal. Java.

So yeah, flunked the course cause they refused to offer a refund cause I had zero interest in learning such a shitty language, years later people I know in that class had to go learn real languages by themselves after the dot com bubble burst, but by then I was burned out on trying to be a programmer

But that's why schools teaching "Trending" programming languages is fucking stupid, they should be teaching you practical/effective languages

java is a perfectly fine language, both functionally and to learn on. java on desktops may be mostly server side, but most android apps are also written in java. also the jvm is an wonderful thing, that many other languages have been written for.
 
Back
Top