Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Why We Should Teach Our Kids To Code

Soulskill posted more than 2 years ago | from the give-them-a-command-line-and-let-nature-take-its-course dept.

Education 427

An anonymous reader writes "An article by Andy Young in The Kernel makes the case that lessons in programming should be compulsory learning for modern school kids. He says, 'Computers help us automate and repeat the many complicated steps that make up the search for the answer to some of our hardest problems: whether that's a biologist attempting to model a genome or an office administrator tasked with searching an endless archive of data. The use of tools is a big part of what make us human, and the computer is humanity's most powerful tool. ... The computer makes us more efficient, and enables and empowers us to achieve far more than we ever could otherwise. Yet the majority of us are entirely dependent on a select few, to enable us to achieve what we want. Programming is the act of giving computers instructions to perform. This is true whether the output is your word processor, central heating or aircraft control system. If you can't code, you are forced to rely on those that can to ensure that you can benefit from the greatest tool at your disposal.'"

cancel ×

427 comments

Sorry! There are no comments related to the filter you selected.

heart's in the right place, but (5, Insightful)

Anonymous Coward | more than 2 years ago | (#38802863)

Let's start with basic computer literacy and not pretend that computer programming courses for a general audience wouldn't be watered down and completely useless - a torture for those with some aptitude for programming and a waste of time for the rest.

Re:heart's in the right place, but (5, Insightful)

u38cg (607297) | more than 2 years ago | (#38802999)

Is computer literacy for 14 year olds still an issue? Really?

Re:heart's in the right place, but (1, Insightful)

errandum (2014454) | more than 2 years ago | (#38803019)

For some, yes. Same way playing basketball isn't commonplace (even though PE classes are mandatory pretty much everywhere) or simply writing correct English.

Genetic predisposition will always play a key factor in all of this.

Re:heart's in the right place, but (2, Insightful)

Darfeld (1147131) | more than 2 years ago | (#38803141)

Genetic predisposition are overrated. The social context is far more important in this case. A child raised in a family with no computer will take longer to adapt. No computer at home means their will be no one to explain how to work with them, part from school lessons. I can clearly see how it could turn frustrating.

There is also the interests of the child. A child into technology will take more attention and learn faster.

Anyway, computer literacy is important, but you don't have to know much really. What you have to know can be learned in a week, and then you use that knowledge, otherwise it's pointless. There will always be things you occasionally fumble on, meaning you have to search how to do what you want to do from times to times so maybe the most useful thing to know about computing is really how to use a search engine. Then you can learn to code.

Re:heart's in the right place, but (4, Interesting)

errandum (2014454) | more than 2 years ago | (#38803367)

According to my organizational behaviour book ( http://www.amazon.com/Organizational-Behavior-13th-Stephen-Robbins/dp/0136007171 [amazon.com] ) only 30% is dictated by your surroundings.

Studies conducted on twin brothers separated at birth tend to conclude that most twins will end up with similar skills, jobs and interests. It's not overrated, it's fact... The book is actually quite interesting, I advice you to read it if you can get your hands on it.

Re:heart's in the right place, but (5, Insightful)

dokc (1562391) | more than 2 years ago | (#38803131)

Is computer literacy for 14 year olds still an issue? Really?

Of course it is! Computer literacy is much more then just clicking around with a mouse. Especially 14 year olds need to be educated about not only the technical side of computers, but also about sociological side (just turn around and check how many of them put everything about themselves on Facebook).

Re:heart's in the right place, but (1)

Canazza (1428553) | more than 2 years ago | (#38803157)

and those that give out their FB Passwords are a 'trust gesture' in relationships.

Re:heart's in the right place, but (0)

Anonymous Coward | more than 2 years ago | (#38803391)

As long as they keep growing up and voting in the morons in Congress who support SOPA/PIPA, it's still an issue.

Re:heart's in the right place, but (3, Interesting)

jawtheshark (198669) | more than 2 years ago | (#38803207)

What is basic computer literacy? That has change a lot over time. Back in my day, you needed to know what a computer did to actually use the thing. Those times are definitely over. Those so called "Digital Natives" aren't. They are actually worse than those who need to "learn" the thing, because at least those people understand this is something you learn.

I have taught "Computer Literacy" at high school. 13-14 year old. It was clear that the abstract concepts were too much for many of them. According to pedagogy, that's not entirely unexpected because at that age abstract thinking is way in early stages. I know it's elitist to say (and as a teacher, you're not supposed to even think about that possibility), but coding and the abstract thinking needed for it is a property of the kid, not something you can really teach.

As for the typical computer literacy courses? A few about basic components of the computer, file management and then it veers to how to use productivity apps. For most of the kids that means learning by heart how to reproduce certain sequences. All in all: it has as much use as learning poems by heart. Well, at least with that you can impress some people.

I quit the teaching profession, mainly because what is sold as "computer science" in high school has nothing to do with it. I wouldn't even call it "computer literacy". There were other reasons into which I don't want to get, but believe me when pay wasn't one of them.

School should teach writing, reading, math, foreign languages, physics, chemistry, biology, history and geography and most important: problem solving skills. Problem solving skills is the only thing that will advance them.

Re:heart's in the right place, but (2)

dokc (1562391) | more than 2 years ago | (#38803359)

According to pedagogy, that's not entirely unexpected because at that age abstract thinking is way in early stages. I know it's elitist to say (and as a teacher, you're not supposed to even think about that possibility), but coding and the abstract thinking needed for it is a property of the kid, not something you can really teach.

Coding and abstract thinking is something you should train, not teach (or teach how to code and think). The main problem of all educational systems today is that we want to put as much "facts" in children's head, instead of show them how to figure out some things themselves. That is a reason why children find math boring.

School should teach writing, reading, math, foreign languages, physics, chemistry, biology, history and geography and most important: problem solving skills. Problem solving skills is the only thing that will advance them.

Absolutely true! But before that, educate teachers not just to read-out what is written in school books (children at that age already know how to read), but to explain, lead and animate children. They are all explorers, just give them guidances.

Re:heart's in the right place, but (-1)

Anonymous Coward | more than 2 years ago | (#38803335)

How about basic political literacy, they're going to be future voters :).

In some respect, I agree. (5, Insightful)

McGuirk (1189283) | more than 2 years ago | (#38802867)

I don't necessarily think that not knowing how to code on a practical level is really necessary for average Joe, but Mr. Young is definitely on the ball about the general idea. I took Computer Science in High School it was my major for my first year in college. It definitely changed the way that I think about complicated things and go about attempting to solve a problem.

Then again, perhaps it is just certain types of thinkers that are attracted to coding and actually doing it just helps hone this type of reasoning.

Re:In some respect, I agree. (1)

hcs_$reboot (1536101) | more than 2 years ago | (#38803101)

Furthermore, the way to use things will be increasingly based on the "programming logic". Understanding the basics of programmation helps to operate efficiently a washing machine, a movie player, a microwave, or, more and more, a car, for instance. iTunes "smart playlists" is another exemple.
Around me, people who initially (2008) loved the iPhone were primarily people having a scientific/IT background.

Re:In some respect, I agree. (3, Interesting)

SerpentMage (13390) | more than 2 years ago | (#38803109)

Instead of teaching programming, like you say maybe teach about problem solving? Oh wait that is called being logical! Oh wait maybe that can be called logic and is, I don't know, part of the MATH curriculum! I don't think learning how to program, for everybody, is a good idea. Here are my issues with it:

1) What language? Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

2) What paradigm? Once you have decided on a programming language are you going to teach via an IDE? Text editor? How about file system communications? Database? Complications, complications, complications...

I help my niece with her math and my biggest beef today is that you have history, or philosphy folks teaching math. You can teach math and science in two ways. The first and this is what I fear is happening all too much is to teach via remembering the formulas and solutions. This achieves nothing and leads the problems in computer science and science we have today. The second approach and this is more difficult since it requires an innat understanding of math and science is to teach it in the abstract. I teach math to my niece in the abstract and she GETS it (when she pays attention). I try to get her to understand why the formula she just learned is actually created and what purpose it serves. I get her problem solving skills involved! Oh wait is that not what you try to do with programming?

Re:In some respect, I agree. (1)

imakemusic (1164993) | more than 2 years ago | (#38803259)

Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

Yeah, like C. It's only been around for about 40 years and it's already totally obsolete. /s

Re:In some respect, I agree. (0)

Anonymous Coward | more than 2 years ago | (#38803291)

Yes, lisp and fortran too. No one uses those, ever.

Re:In some respect, I agree. (1)

Ardyvee (2447206) | more than 2 years ago | (#38803281)

You sir, are my hero.

The difference between math and, well, teaching programming is the fact that if you want to be good at programming, you must understand how anything works and why, before you can use it efficiently. On maths, nowadays you just go like "learn the formula and you're done with it", at least on my case. My teacher taught two methods and he clearly said one required more "thinking" and "understanding" than the other, more standard formula you can just apply to everything.

I would, however, love they would teach programming in my school and not.. say.. how to use MS PowerPoint, or.. MS Word, or.. well, Excel? Perhaps they could, instead of teaching programming, teach how a CPU works, how a GPU works, etc. Or flat-out Logic and Problem Solving.

Re:In some respect, I agree. (2)

somersault (912633) | more than 2 years ago | (#38803283)

Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless

That's one of the strangest things I've ever heard here. "Completely and utterly". 100%. Really? They're going to have to learn what an if statement or a loop is all over again? They're not going to understand assignments or function calls? Past experience of data typing and object oriented features aren't going to be useful?

There is a whole lot that carries over from one language to the next - unless obviously you look into functional programming or something like that, in which case a different approach is required. But the most popular and common languages out there share a whole lot of genetic material.

As you implied at the end there, if you teach people to program (ie how to break a problem down in such a way that you can then direct a computer to solve it using a set of logical instructions) - rather than just teach them how the language fits together - then the language is fairly irrelevant.

Re:In some respect, I agree. (4, Insightful)

schroedingers_hat (2449186) | more than 2 years ago | (#38803319)

Instead of teaching programming, like you say maybe teach about problem solving? Oh wait that is called being logical! Oh wait maybe that can be called logic and is, I don't know, part of the MATH curriculum! I don't think learning how to program, for everybody, is a good idea.

Far too little problem solving and critical thinking is taught in the maths classroom these days.

1) What language? Unless you decide to keep up in programming languages whatever you learn is going to be completely and uterly useless.

Irrelevant. The skills are almost entirely transferrable. Unless you got to an extremely esoteric language like APL or brainfuck, anyone with a good understanding of one language will be able to learn a language with a similar purpose very quickly.

Going from scheme to assembly may be a bit of a stretch, but learning any language that vaguely follows the style and syntax of C (I am including everything from the more high level parts of some assemblies to javascript here) will give a large headstart towards learning any other.

There is a reason pedagogical languages exist, after all. For a beginner, one of these, or any high level language is probably appropriate as a tool to teach logical thinking.

2) What paradigm? Once you have decided on a programming language are you going to teach via an IDE? Text editor? How about file system communications? Database? Complications, complications, complications...

Again, these are details that don't matter. It's like saying 'what do we teach them maths with? A pencil? Or pens? What model of caclulator?'

As long as you don't pick something entirely esoteric, or bore them with too much low level stuff too soon, it's fine.

One could even make an argument _for_ an otherwise useless and obscure language. This would help kerb plagiarism, or at least force the plagiarist to understand both languages well enough to port some code (a useful end in itself).

I help my niece with her math and my biggest beef today is that you have history, or philosphy folks teaching math. You can teach math and science in two ways. The first and this is what I fear is happening all too much is to teach via remembering the formulas and solutions. This achieves nothing and leads the problems in computer science and science we have today.

Here, I agree. And perhaps one way of getting more teachers that are competent in logic and mathematical thinking is to try and interest students in such matters? The path to a useful knowledge of mathematics is long and arduous. Many of the obstacles also seem arbitrary, and it is only when one looks down after learning a lot, that the point of it all can be truly understood.

Even then, the practical use of it is limited to a few scientific disciplines where the tools are not already available in a packaged and easy to use form.

Mathematical knowledge for its own sake is a wonderful thing, but it is difficult to convince other people of its worth.

The second approach and this is more difficult since it requires an innat understanding of math and science is to teach it in the abstract. I teach math to my niece in the abstract and she GETS it (when she pays attention). I try to get her to understand why the formula she just learned is actually created and what purpose it serves. I get her problem solving skills involved! Oh wait is that not what you try to do with programming?

I would not call understanding the reasoning rather than accepting a formula as gospel abstract. Abstract is where you investigate something without grounding in reality or practicality. Either way, these are skills that are woefully under-taught in today's schools. Mathematics is 'taught' in such a way that getting the answer is considered more important than learning to think.

Perhaps programming is a good way to encourage these skills where other methods have failed? 'build a game' or 'make the robot play soccer' are vague enough statements that boiler-plate examples from the textbook followed blindly are not going to cut it (or at least will be failed on the grounds of plagarism).
On top of this, it allows for projects bigger than tiny little byte-sized useless examples. Hopefully this might involve someone engaging their brain, rather than coasting through on regurgitation mode.

Re:In some respect, I agree. (1)

l3v1 (787564) | more than 2 years ago | (#38803407)

1) What language? [...]
2) What paradigm? Once you have decided on a programming language are you going to teach via an IDE? Text editor? How about[...]


For 1). I'd say it's very unrelevant, the point is to give outlook and possibility ot others as well. When I started learning coding at school when I was 11 (almost nobody had computers at home back then, my first was a c64, 2 years later), and we started with basic. Then, in high school they cycled us through 4 languages until we finished 4 years later (have to say, it was a math+CS class, and we had 4+4 hours theory and lab each week), but by our second year some of us geeks were already well ahead in coding knowledge -- and I think that was because our teachers were very good at the very beginning to make us interested.
My point is, I don't think the choice of language is such a big problem. The problem is when all they teach you is that language, and that needs to be avoided. Languages are just tools to bring your theoretical knowledge to life, they (it) shouldn't constrain you, but liberate instead.

As to 2). also, it's fairly unrelevant. Lots of us here didn't start with a fancy IDE or even a text editor :) If all you can say in favor of a language is that it has a fancy IDE, then you'd better drop it upfront anyway. Also, we already have anough newgen coders who can't work without an IDE. And that's not in their favor.

Re:In some respect, I agree. (1)

mr_gorkajuice (1347383) | more than 2 years ago | (#38803185)

A large part of the general population has absolutely nothing to gain by knowing how to program. Not everyone needs to solve problems that can be reduced to data.

I AM a programmer, but any code done while not at work is for my own amusement. Knowing programming on a professional level doesn't help me solve ANY day-to-day problems, other than those presented to me by my employer.

If I was employed with manual labor, as I assume is the case of the majority of planet Earth's total workforce, my programming skills would be reduced to a hobby with no practical value.

Problems that can be solved by knowing how to code has already been solved much better than Average Joe will ever be able to, no matter how solid an understanding of the C syntax he would develop. Making everyone reinvent the wheel, just so they can put their hypothetical common-place programming skills to some use would be a major time sink.

Re:In some respect, I agree. (1)

Cryacin (657549) | more than 2 years ago | (#38803289)

Come on man, learning to code is easy:

1: Google search for code
2: Ctrl-C
3: Ctrl-V
4: Compile
5: TADA!!!

Well, according to a manager I had once anyway.

Re:In some respect, I agree. (2)

K. S. Kyosuke (729550) | more than 2 years ago | (#38803429)

It definitely changed the way that I think about complicated things and go about attempting to solve a problem.

I think you've hit the nail on the head here. The issue at hand is not that we need to teach the kids to program; if they learn to actually program, that's a welcome side effect. What they need to learn is to formulate and solve (computational) problems systematically in a way that makes result suitable for transcribing into code...or, e.g., suitable for transcribing into processes to be executed by people, if the processes are related to business, science, technology etc. Shaping your brain into an instrument capable of effectively grasping the core of poorly formulated ideas, abstracting over it, being able to see the corner cases and potential mathematical and logical contradictions in the input requirements, expressing yourself precisely in your intellectual output and paying attention to detail all along are all priceless and recyclable skills that few people actually have, including programmers - sadly, because for them, this should be a bread and butter skillset. (On the other hand, reading thedailywtf.com would be much less fun it those who are supposed to know how to program actually could.)

In principle, yes. (1)

marcello_dl (667940) | more than 2 years ago | (#38802881)

You won't find much disagreement from the average slashdotters on the importance of programming.
The devil is in the details, how will compulsory programming courses be handled by school systems. If a student has to wrestle with proprietary environments with poor support because eventually the school gets tired of paying for cosmetic updates, he/she will only learn the "bad part" of programming. It sure teaches a lesson but there's the whole life to get that kind of schooling, for free :)

Re:In principle, yes. (4, Insightful)

SuricouRaven (1897204) | more than 2 years ago | (#38802945)

Or the other end: They all get lessons covering only Visual Studio and .NET, or making iOS apps in xcode, because Microsoft or Apple respectively offers a massive discount and almost-free support to schools to make sure the programmers of the future are their customers of the future too.

Re:In principle, yes. (2)

sithlord2 (261932) | more than 2 years ago | (#38803093)


So what? A for-loop in Java is basically the same as in .NET or Objective C.

Programming is about a certain mind-set, logic & math. Only bad programmers complain about programming languages. A good programmer can program in any programming language he wants...

Okay, except "brainf*ck" maybe...

Re:In principle, yes. (2)

qxcv (2422318) | more than 2 years ago | (#38803193)

Only bad programmers complain about programming languages. A good programmer can program in any programming language he wants...

It's a good thing all schoolchildren are Good Programmers then. Hell, why are we even teaching them this! They can program in any language they want!
 
A few lesson's experience in one language makes not a Good Programmer. Not having a portable, flexible language makes it extremely difficult for kids to hack on cool pet projects like web apps and games without investing a significant amount of time learning a new language for doing each task.

Re:In principle, yes. (1)

sithlord2 (261932) | more than 2 years ago | (#38803261)


I was refering to another post, where the author said that it will be probably thaught in .NET or XCode, and somehow that would be a bad thing...

Re:In principle, yes. (2)

mwvdlee (775178) | more than 2 years ago | (#38803327)

Teach them basic HTML/CSS/JS skills.

They're not the most elegant languages in the world (understatement), but they're relatively easy (just stick to procedural code) and a browser is pretty much always available. Most browsers are quite forgiving as well; if you forget an HTML close tag or omit a semicolon in JS, mostly you'll still get the output upto the point it goes bad.

JS can be quite a mess, but if you stick to the basics JS will do fine for the purpose of teaching absolute beginners. You don't need to teach OO, closures or modern JS techniques; document.writeln() will do fine for anything you need in these types of lessons.

It also satisfies the need for immediate results. With a little bit of HTML and CSS, you can make a lot pretty webpages. Just let them create their own homepage; some pictures, some links, pretty colors, cool mouse hover effects, perhaps a JS to print the current date; simple stuff they could expand upon.

Re:In principle, yes. (2)

Captain Hook (923766) | more than 2 years ago | (#38803097)

I think you are taking "Programming" to literally.

What I took from TFA was more a kin to scripting. Learning how to write a perl/python script to scan a bunch of documents for certain phrases, even learning regular expressions for use inside applications which support RegEx would be useful.

You don't need full on paid for development environments to teach that.

Re:In principle, yes. (1)

mr_gorkajuice (1347383) | more than 2 years ago | (#38803237)

How are such skills even *remotely* useful to peple such as lumberjacks, casino dealers, chefs, cashiers, clothing designers or nurses?
Also, notice how little these occupations have in common, except the complete lack of anything that would be aided by programming skills. I'm sure I could add another 100 occupations to that list if I really wanted, and I'm quite confident that the numer of individuals employed in such an occupation greatly outnumbers programmers.

Re:In principle, yes. (1)

Captain Hook (923766) | more than 2 years ago | (#38803329)

None of those people download financial information from a bank to see how spending compares to a budget? Even just as part of their private lifes rather than in a business sense?

Lumberjacks don't need to estimate costs for extracting wood based on variables such as wages and fuel and access distance?

casino dealers/chefs/cashiers don't need to deal with resource scheduling. etc

You're right, none of those people would need to deal with data to do their jobs on a day to day basis and all will already have some sort of manual system to deal with what data they do handle, but whats wrong with giving them some basic skills to automate what data handling tasks they do encounter, or even the basic problem solving skills that an introductory course would give them.

Re:In principle, yes. (0)

Anonymous Coward | more than 2 years ago | (#38803121)

Or they get taught VB6 because it is quote unquote "free" and "it comes from Microsoft so it must be good". After all, "we're not trying to get you to a professional level of programming ability".

Disclaimer: Actual quotes from an actual high-school teacher attempting to explain why they use a deprecated proprietary language instead of Python/Java/Ruby/C/any other sane cross platform language, and spend one-and-a-half years of a two year course teaching MS Access and discussing "ethical issues" (on copyright infringement: "But it's still stealing. Would you walk down to the 7/11 and steal a candy bar?").

It's all well and good to go in and say "Let's teach all children programming!", but it's difficult to follow through when you have a complete lack of competent teachers and a curriculum designed by some head-office beaurocrat in 1997.

Re:In principle, yes. (1)

SuricouRaven (1897204) | more than 2 years ago | (#38803315)

That's the problem we have in the UK currently. Our IT curriculum is a joke, and everyone knows it, but reform is strongly opposed by teaching unions who are aware that IT teachers would need to undergo much additional training if they had to teach real IT.

Totally agree (3, Insightful)

cc1984_ (1096355) | more than 2 years ago | (#38802885)

Where I work, we have secretaries copying and pasting (using a mouse) passages from a intranet website into our database. It made me cry just watching it. Now forget the fact that the other end could set up a ReST interface, a simple screen scrape would make a job that took hours into a job that would take seconds.

There is so much inefficiency in offices that could be eradicated if only people were a little savvier about what computers can do.

Re:Totally agree (1)

Anonymous Coward | more than 2 years ago | (#38803083)

I suggest we just focus on the basics and kids can follow what interests them on their own, like the rest of us did in an era where the extent of computers in school were playing Oregon Trail on an Apple II. Otherwise, what are we going to do? Teach every kid to build an automotive engine, perform minor surgery, build a piano, produce a television show? Besides, teaching them an art that is being outsourced more and more each year and being treated more like a janitorial blue-collar liability job seems like a real waste.

Re:Totally agree (1)

Darfeld (1147131) | more than 2 years ago | (#38803155)

Teach every kid to build an automotive engine, perform minor surgery, build a piano, produce a television show?

Sound too cool to be done.

Re:Totally agree (0)

SerpentMage (13390) | more than 2 years ago | (#38803135)

And if the programmer setup the rest interface they would need a few days to figure out what they need. Then they would write the code needing about two weeks. Of course as they write the code they realize it is quite a bit more complicated that it appeared. There were quite a few fringe cases that the code could not deal with. Thus they need another 4 weeks to nail down all of those fringe cases. Then once they finally test it, they need a server and the admin to install all of the stuff. FINALLY three months later the web service is done, everything is converted in seconds and the secretary looks at the programmer and says, "you know I could have done that in a few hours..."

Yes programers believe they can do that in seconds. BUT can they code exactly what is necessary in less time than a human needs to do something? And lets do an ROI... Secretary costs X, programmer costs 2X+X for incidentals like getting a server etc. Thus if secretary can copy content in database can programmer write and deploy code in Total / 2 * (2X + X). I am putting the 2 in because if the programmer = secretary then what is the point? Thus there must be some profit.

I will give the short answer... NO... Simpler, but painful to watch, to let the secretaries do the copy and paste.

Re:Totally agree (2)

Tom (822) | more than 2 years ago | (#38803209)

If this is a job that needs to be done over and over and over, it is worth investing the time.

If It's a one-time or irregular job, some coder hacking up a script in a few hours that can handle 90% of the cases with the secretary doing the fails and fringe cases manually would still save time.

The failure of the geek: Wants to automate everything
The failure of the manager: Mistrusts automation so he wants everything done by hand

That's why usually the 80% solution is the optimal solution.

Re:Totally agree (2, Insightful)

Anonymous Coward | more than 2 years ago | (#38803265)

If it's a one-time or irregular job, it's worth investing time in a meta-solution, that can generate solutions to one-time or irregular jobs.

Computer science doesn't just stop at the first recursive iteration.

Re:Totally agree (2)

cc1984_ (1096355) | more than 2 years ago | (#38803211)

You're missing the point. If everybody had at least a basic knowledge of computer programming (or at least the existence of it), everyone would know that copy and paste is a bad idea and do something about it. As it stands, the secretaries know no better other than the job is a PITA and the other end thinks that writing a webpage displaying the data is the best they can do.

Getting the secretaries to know how to parse XML and use Regexps is not the exercise here. The exercise is giving people a sense that computer programming is not magic and the barrier to getting something automated is not as high as people think it is. This goes from the bottom to the top of any organization so that everyone is singing from the same hymn sheet.

Re:Totally agree (0)

Anonymous Coward | more than 2 years ago | (#38803317)

Yes, one-of tasks are cheaper and simpler to let the keyboard monkeys have at it, and copy-paste, regardless how painful it is to watch.

In today's web connected world, people are being treated increasingly as conduits to transform data between dissimilar systems (used like oil to grease the gears of poorly automated systems). It is mostly ok when it is a limited role or a temporary measure, but not when it is ongoing.

The problem is that people don't move past it, and keep doing these repetitive tasks over and over, and it becomes sop (an expected part of the process rather than a temporary workaround). Instead of hiring a real analyst and programmer to build a comprehensive solution, people are expected to fill in the gap and many times aren't even aware that there is an alternative, that they need a programmer (or the cost of getting a programmer is over exaggerated w/o considering the cost in labor and quality issues of having people do manual repetitive tasks as part of their work flow).

It is (painfully) funny to see companies having infinite meetings and creating convoluted sop checklists for every tasks under the sun (in essence, creating real world programs that depend on people "loading" these checklists into their brains and act like CPUs), and see them fall flat on their face because people can't keep that up for long. If only they had invited someone from IT to give them a hand, and maybe automating some of it (if only IT wasn't so under budgeted and under appreciated that it could be seen as a helpful tool rather than a hindrance).

Specific technology issues aside (what language/platform to teach?), having more students exposed to programming concepts would allow for at least some better understanding of the logic and capabilities of computer technology, and maybe users would be more inclined to bring in qualified programmers more often. Well, just maybe...

Re:Totally agree (4, Insightful)

Tom (822) | more than 2 years ago | (#38803203)

Most of inefficiencies don't need a new system. They just need people to be better users.

Here's a thought experiment. Teach all the secretaries in your company the 20 or so most important keyboard shortcuts. I guarantee you a measurable improvement of output.

No programming knowledge needed.

Re:Totally agree (1)

cc1984_ (1096355) | more than 2 years ago | (#38803377)

I totally agree with the sentiment and you are almost certainly right. However, the article goes further than just learning 20 shortcuts. I was just saying that the author is correct in my opinion.

Might be useful. (1)

cheekyjohnson (1873388) | more than 2 years ago | (#38802901)

But I don't think it should ever be forced. Not everyone has the aptitude or desire to learn how to program, and a majority probably don't need to (although, if it turns out that they're somewhat decent at it, it may be able to make some things easier for them).

Re:Might be useful. (0)

Anonymous Coward | more than 2 years ago | (#38802969)

Not everyone has the aptitude to do maths or geography or a foreign language or ...

Doesn't mean we shouldn't try.

Re:Might be useful. (1)

cheekyjohnson (1873388) | more than 2 years ago | (#38802989)

Not everyone has the aptitude to do maths or geography or a foreign language or ...

And after that: "and a majority probably don't need to"

As for your examples, if the majority of people likely won't use them, then I think they should be optional (basic math will likely be used by everyone).

Re:Might be useful. (1)

Anonymous Coward | more than 2 years ago | (#38803029)

From this it follows that most of what is taught to children most of them won't need so might as well not nether teaching them anything: just tell them go home and watch telly instead - get them to aim to be really productive members of society.

Don't aim so low.

Re:Might be useful. (1)

cheekyjohnson (1873388) | more than 2 years ago | (#38803053)

From this it follows that most of what is taught to children most of them won't need so might as well not nether teaching them anything

"Anything"? Teach them things that a majority are likely to use, and leave the rest optional (unless teaching it to them will benefit the majority greatly).

Don't aim so low.

I'm simply saying that forcibly teaching them things that they most likely won't use probably isn't very efficient. It takes time away from learning things that they will use and, at least in some people's eyes, is a waste of time. The classes would still be there, but optional.

Re:Might be useful. (0)

Anonymous Coward | more than 2 years ago | (#38802997)

Schools should do a better job of teaching programming. Right now, you have a lot of people going to school getting a degree and looking for a job. But the fact is, in a couple of years a good programmer will have increased his knowledge many times over by learning on his own. Right now, schools teach the minimum, the basics, the rest is for you to learn on your own. It might be ok for some, but for the most, it takes a very long time to sift through all the material and decide what is worth learning and what is not.

When the schools start doing that, the amount of time, the graduate spends time as a newbie programmer is reduced, which means you'll have over the years a higher number of programmers, which in turn means you'll have more and better applications that do what you need them to do, instead of teaching a few hundred times more people how to code that functionality on the fly.

Why teach 10.000 people how to code to create the same filter for their application, when you can better train a single programmer to code that into the application?

Why should we? (0)

Anonymous Coward | more than 2 years ago | (#38802919)

Those are all jobs that can and will be outsourced.

Do we want another generation like what we have now?

Enough /.! (1)

Anonymous Coward | more than 2 years ago | (#38802921)

Alot of these articles make it seem like we're in this programmer shortage, when in fact the field is already to damn competitive as it is. Let's go back to the basics of giving more knowledge on how to make better programmers instead of creating new ones.

If kids are interested in it let them go for it. But let's not encourage it. The last thing i need is a kid that ideals Pauly-D and thinks he likes programming cause he'll make good money from it, and take my job at some company because his dad knows someone.

Engineering would be a better thing to learn (4, Insightful)

digitaldude99 (1861666) | more than 2 years ago | (#38802923)

The world doesnt need any more programmers. I should know, I have been looking for a programming job for ages and no one will give me a job. On the other hand, there is a shortage of engineers. In the oil industry there is a dire shortage of engineers, anyone qualified as a chemical engineer can command a good salary, yet strangely all the univerisity courses on this in the UK are being closed down in place of non vocational courses. No one in the media or government seems aware of this. Instead of all these shows on TV telling people what a good idea it is to try and be a pop star or super model, they should have shows encouraging people to take up more practical professions.

Re:Engineering would be a better thing to learn (2)

ciderbrew (1860166) | more than 2 years ago | (#38803071)

No mod points. Have a +20 Yes all that. They do run a few programs on the BBC of "How to build ..." http://www.bbc.co.uk/programmes/p00lysc9 [bbc.co.uk]
To stop home mind rot I got rid of my TV, stick to iplayer and take my son to the science museum as often as possible.You have to build geeks these days.

Re:Engineering would be a better thing to learn (1)

rippeltippel (1452937) | more than 2 years ago | (#38803313)

You have to build geeks these days.

I really hope not!

Re:Engineering would be a better thing to learn (2)

martin_dk (1368035) | more than 2 years ago | (#38803405)

All upcoming engineers should be able to program.

Coding is just a subset of necessary practical tools.

It should be taught in every primary school.

Generalise (1)

carrioki (1331287) | more than 2 years ago | (#38802927)

As much as "computers are our most powerful tool", we have many arguably more powerful faculties built-in.
Most kids, or at least many kids, will neither enjoy nor benefit from coding, and only a tiny fraction will become proficient enough to not have to rely on others for critical, or even marginally important, systems.
The fact that we can all read and write doesn't mean that we can all entertain ourselves and others with our own novels!

We should rather be teaching more generalised skills, like logical thinking and clear expression of ideas. These can be taught with a bit of programming, but needn't and shouldn't be limited to it! And they are certainly important skills to have. I'd call them the two most important things programming teaches the layman.

Yet the majority of us are entirely dependent on a (4, Insightful)

emilper (826945) | more than 2 years ago | (#38802931)

Programming is a calling, not a profession. Let them try programming as soon as possible, get those with the calling identified and cultivate their ability.

Yes, most of them probably won't get a CS degree ... so what ? Domain knowledge is as important as knowing algorithms, if not more important. There is need for accountants-programmers, linguists-programmers, geologists-programmers etc. Computer Science degrees are for those that want to write compilers, operating systems, new DB engines, routing algorithms etc. For the rest, the (probably innate, not educated) ability to stay stuck to a chair 10h/day running lines of code in the virtual machine in your head and having fun while doing it, logical thinking, basic algorithms and domain knowledge are more important.

Cavemen (1)

Hognoxious (631665) | more than 2 years ago | (#38802937)

There's a difference between using tools and making them. Programming in some ways falls between but it's more akin to the latter, and not every tool user is a tool maker.

This was so even thousands of years ago. Scraping a bearskin isn't nearly so tricky as flint knapping.

Talion law (1)

Anonymous Coward | more than 2 years ago | (#38802939)

I was forced to learn Latin. This might be a good revenge.

Nice in concept. (4, Insightful)

lattyware (934246) | more than 2 years ago | (#38802959)

I love the idea, because I would have loved it, however, one has to remember that not everyone loves programming the way we might do.

I think that courses should be offered earlier and in a much more useful form, and definitely some programming and CompSci theory should be put in the curriculum to give an understanding, but for the average person, deep programming knowledge isn't the main thing needed. Definitely giving people the chance to learn if they want to is very important.

I think the more important thing is to teach basic logic and debating skills at a young age. People really lack basic skills like spotting logical fallacies and following an argument. I think teaching some formal logic at a young age would really increase political participation, increace scientific and computing ability, lower people falling for scams like phishing, and increase general learning ability.

Bicycle for our minds (1)

martinX (672498) | more than 2 years ago | (#38802967)

This video (http://www.youtube.com/watch?v=ob_GX50Za6c) shows Steve Jobs describing how powerful computers can be for the human race ('a bicycle for our minds') so it makes sense to teach kids how to get on that bike and ride.

Re:Bicycle for our minds (1)

Tom (822) | more than 2 years ago | (#38803181)

You are misinterpreting Steve.

Riding a bicycle is something that I agree most people should be able to do.

Building a bike is something that only a few will ever want to learn how to do, and it is perfectly ok for a society if only a few do it, and it is generally better if a few good people create good bikes than if everyone created his own and most of them are crap.

Programming will become the new Shakespeare (5, Insightful)

jholyhead (2505574) | more than 2 years ago | (#38802975)

Do we want a generation of kids to grow up despising programming and programmers? Look at what the education system does to English Literature, Maths and Science.

Kids grow up loathing Shakespeare because it isn't taught in the same context that it was written for. Kids grow up to hate maths because they've been force fed the mundane basics since they were 5. Do we honestly think they'll do a better job with programming?

I'm all for a more thorough coverage of Comp Sci and ICT - of which programming is obviously a part, but it should be weighted to play to the strengths and interests of the individual students. Some students will take to programming, others to graphics and animation, but as soon as you start making stuff compulsory, you find yourself forced to water down the content and you end up sucking the joy out of it.

Those of us with Comp Sci university backgrounds will probably remember how miserable those students who didn't 'get' programming were. Do we really want to do that to kids?

Re:Programming will become the new Shakespeare (1)

larys (2559815) | more than 2 years ago | (#38803113)

Oh, no, then we'll get something like this: user@shell:$ ./shakespeare ERRNOCODPIECE: Null pointer exception

Re:Programming will become the new Shakespeare (1)

ledow (319597) | more than 2 years ago | (#38803137)

I think you're mistaken here, although your question is certainly relevant.

Kids grow up to loathe Shakespeare even when it's taught correctly. They loathe it because it's hard. I still struggle to spot a joke in a Shakespeare "comedy" (and while I agree they should be exposed to it, far too much emphasis is placed on its educational importance). Maths is hard. Computer science is hard. Programming is, for the majority of people, hard because it involves quite a bit of maths.

Try explaining to the average ten-year-old about matrix transformations and 3D graphics. Or your average 30-year-old, come to that. Sure, they will all enjoy it if you can do it nicely but very, very, very, few will have a natural interest in the subject with any teacher (even themselves).

Kids will always prefer the things that are easy and fun. I bet it's about a 50-50 split between those who loved sports at school and those who loathed it, if not better. You really think that 50% of kids would ever love maths?

Few people "love" geography when they are a kid until it involves going out into a field and falling in a river. Because geography can be hard, but falling in a river is fun and nothing to do with geography. English, maths and science are the most hated subjects because they are the hardest, and the ones that are most important and hence get most of the class time.

Geography, history, religious education/studies, etc. are loathed too, sometimes more, but we don't consider them as important and shove them down children's throats half as much as we do maths, for example. Look at the hatred for a subject in context of just how much time we devote to teaching our kids it - kids hate maths because we *KNOW* it's important so we teach a lot more of it than anything else and STILL they hate it and STILL a lot of them will never grasp it.

ICT is different, however, and can be "easy" for kids these days but that's "computing", not "computer science". Programming, though, is on the "harder" side of things - more computer science - unless you're doing really baby steps. Out of all the fellow students that I met in university, doing Maths and Computer Science, I found two that had ever programmed "seriously" before going there - and they were both mathematicians. In all the schools I work in, and out of all the teachers I know, I found one former COBOL programmer, a couple who knew FORTRAN (mainly mathematicians) and that's *IT*. I actually know more bursar's who have programmed in the past than I do teachers.

Programming is not something that you can just "teach better". You can teach more, certainly (and I think they should) but you can't create a generation of programmers that way. Whether we consider it's something they will need in the future, that's a different matter - I think English, maths and science are much more important than them growing up programming (especially when it's so reliant on concepts from those three - grammars, algebras and computer science!).

Programming will always be "nerdy" because it's difficult, niche and not particular relevant to modern computing (most people will end up using programs rather than writing them by ENORMOUS ratios - we don't need millions of programmers). You can't make it fun or hip or popular past a few basic lessons except among those who WANT to take it further.

You can't teach it mainstream without a LOT of time dedicated to it (How much do you think you can teach in, say, an hour a week for a single semester? Now how much do you think the AVERAGE teacher can teach?) or it'll just end up how I was taught - a few hours on LOGO and BASIC and then never touch on it in lessons again (thank god for home computers!).

Raspberry Pi etc. will sell. People will knock up apps. Kids will do basic things. But you won't get *programmers* out of it, or even more-educated computer users. Programming is *exactly* like Shakespeare. It takes a lot of understanding to scratch beyond the surface, a lot of insight, more time than can be covered in lesson, more knowledge than the average teacher has, and in the end is a purely geeky pursuit that only the interested geek who's willing to work will really get into and enjoy.

As a proportion, there are no good CS teachers (in the schools I've worked at, the CS teachers know less about CS than the guys they look down upon and call to fix their computers). There are none being trained. There's no time or opportunity for them to express themselves if they did. And the actual number of students who would ever go on to "enjoy" programming is slim and no more than those who enjoy Shakespeare, for example.

Programming's a geeky niche. Always has been. Sure, in theory, you could breed a generation who have a more natural aptitude towards programming, but there are a lot of other more important things to worry about in terms of education.

Re:Programming will become the new Shakespeare (1)

u38cg (607297) | more than 2 years ago | (#38803231)

Shakespeare is a bugbear of mine. They are plays. Take a bunch of kids and get them to produce one of them. They'll get it; in fact, they can't not. Yet if you force them to grapple a wall of blank text, they can't. And who can blame them?

Re:Programming will become the new Shakespeare (1)

ledow (319597) | more than 2 years ago | (#38803323)

I agree - it's like trying to teach lab work using a computer program (which is an increasingly common trend - I've seen more "virtual" bunsen burners than real ones in the schools I work in).

But if anybody thinks that it means they'll fall in love with Shakespeare, or even plays, rather than the highlight being that the fat bloke looked like their geography teacher, they're sadly mistaken. And it'll still be the geeks who do.

Re:Programming will become the new Shakespeare (1)

Bensam123 (1340765) | more than 2 years ago | (#38803191)

I disagree. I don't think teaching a subject makes kids hate something. It's all about how the subject is approached. When you add visual elements to coding it can make it more easily understood by just about everyone. All high level courses have entry level courses too. You shouldn't expect to be feeding advance programming to high school students. All you want them to grasp is the basic logic and troubleshooting, they don't need to design the next hit game while in high school.

Re:Programming will become the new Shakespeare (1)

searchgby1 (2553346) | more than 2 years ago | (#38803393)

Its not the subject but I think its more on the teacher and how he taught the subject... that is TRUE also with coding...

again? (1)

aprdm (2451390) | more than 2 years ago | (#38802985)

seriously is the 3rd time i see a similar article in less then 2 months n0t againnn we all know our kids must be assembly experts

Let's teach them about information (1)

XNormal (8617) | more than 2 years ago | (#38803003)

We live in a world of information. So let's teach them about information. What's the meaning of information? How has it been encoded, stored, reproduced, processed and transmitted throughout history?

It should include some material about the concept of processing information by an algorithm, but I'm not sure actual programming classes are really for everyone.

Re:Let's teach them about information (0)

Anonymous Coward | more than 2 years ago | (#38803179)

Exactly. It's important to understand how programs are to information processing as assembly lines are to physical goods -- they're both defined by algorithms that transform certain types of inputs into the desired outputs. Everyone should know that there are tools to automate information processing and that if there's anything they're doing more than a few times, or that humans cannot do reliably, it's probably worth finding tools to help.

"Programming" probably comes into play as a tool to teach the theory, but nothing like "learn to program" courses -- the focus should be on high-level algorithms and rational problem solving, which have much broader applications and don't require any technical knowledge. You can bring in computers to demonstrate how they can make short work of big data sets, or as an impartial evaluator of algorithms, but it would be pretty useless for most people to understand the modified Harvard architecture or any of the other details that make computers and programming work.

I missed something (5, Insightful)

gmhowell (26755) | more than 2 years ago | (#38803023)

I missed why this should be mandatory. I missed why we should attempt to educate kids who cannot read, do simple arithmetic, identify their MP (the writer is from the UK). I'm guessing this author grew up in a mostly white, middle to upper class area, knows mostly white, middle class people, and thinks the most pressing issues are the ones facing white, middle class people.

Teach basics of Computer Science! (4, Insightful)

Cyberax (705495) | more than 2 years ago | (#38803031)

What I'd really want is for schools to teach the basics of computer science. So that everybody at least knew what the word 'encoding' means when applied to information, what digital data is and why it's different from analog signals, etc.

It'd definitely cut down the number of people sending screenshots in JPG and bying Monster HDMI cables.

Re:Teach basics of Computer Science! (1)

Tom (822) | more than 2 years ago | (#38803161)

Mod parent up.

Please give more people a basic understanding of what computers are about. The difference between "analog" and "digital" will be much more valuable to many more people than the difference between for and while.

And it will save us geeks tons of headaches when we don't feel like talking to babies whenever things get more complicated than "press any key to continue".

Besides... (0)

Anonymous Coward | more than 2 years ago | (#38803041)

coding allows us to accomplish otherwise time-consuming tasks with the ease of a small set of scripts...

Just to expand on this, I still think most customer service agents I've spoken to could easily be replaced with small shell scripts (and they'd probably be more polite that way as well -- especially considering my past experiences)...that and perhaps politicians could be replaced too? And make them open source so that when they start screwing us, we can find the functions responsible for their corruption and delete them and happily move on to being a more logical and functional society...no more cheating on their wives, no more penis pictures being sent to underage girls, and no more pedophilia...just the occasional need for an fsck or two... ...problem solved...

Scripting would be good (0)

Anonymous Coward | more than 2 years ago | (#38803049)

If we start to teach C++ in schools it would be a disaster, and unproductive, because you can't do anything useful with very basic level C++ (just to mention a language). But I think it would be very interesting if it's more scripting oriented like an elemental level of vbscript, nothing too complicated. This way the student would learn it easily, and would be able to use it in macros for Office and scripts for windows to automatize tasks that common students do use. He/She could also experiment with math and scripting.
Later he could, by his own, jump to javascript, web, asp, or even real languages. Or even the student could be motivated to pursue a real career with this after graduating.

KISS (1)

GerryHattrick (1037764) | more than 2 years ago | (#38803067)

'Code', yes, but code in what? I was a 'programmer' when young, and it was a great relief when COBOL came along and we could just write down what we wanted done (and then 'compile' on 2 tape units). Halcyon days. Now even with a house full of PCs and Linux things you can't do anything new without mastering syntax more abstruse than Algol or Fortran ever was.

Benifits (3, Interesting)

Faisal Rehman (2424374) | more than 2 years ago | (#38803081)

Coding strengthens other areas, like logic, mathematics, detailed visualozation of problem, focus and insight

Why We Should Teach Our Kids To (1)

rodrigoandrade (713371) | more than 2 years ago | (#38803089)

A CS nerd will want to teach his kids to program as much as a fisherman will have the urge to teach his kids to fish.

What if the kid isn't cut for programming, will you still shove it down his throat??

captcha: choice is good.

problem already solved by market. (0)

Anonymous Coward | more than 2 years ago | (#38803123)

If supply of coders is too low, price of coders goes up, more people learn coding.

Problem solves itself. let the market allocate resources. Stop thinking like a bureaucrat!

My foray into amateur programming (1)

Anonymous Coward | more than 2 years ago | (#38803147)

I've been doing work in a field most people here don't like, web analytics, for ~5-6 years now. Nonetheless it serves to illustrate this story well. When I started I had never coded a day in my life (I focused on the analysis part). One day I had to track some flash applications, and that requires vendor specific functions to be used, which submit the data in ways you specify. Well, I had no idea what a function was-- and when I sent the documentation to the guy who was supposed to figure it out, he couldn't.

I was literally stuck. I decided that depending on other people to be able to do anything sucked, so I bought some books and started working on basic projects for myself. I won't lie-- simple things like arrays took me a while to wrap my brain around. Simple loops, manipulating objects, writing functions, all of it was very difficult for me at that point. I don't think I'm a natural programmer by any stretch, but I am now more than capable of writing simple applications that interact online/output formatted data. I can easily debug Javascript errors by eye and I've gotten very adept at using proxy's like Fiddler and Charles to simulate environments in which I can test my code changes on live sites without having access to a dev environment.

The point I'm really trying to make is this. I suck at programming. I can write trivial functions, use the main loops, and have a decent grasp of what an object and an array is and how I can manipulate them. With these very basic building blocks, I have made myself a much more desirable employee, and also simplified my workflow(s) tremendously. I've now moved on to taking computer science courses online (the MIT ones are amazing). Coding will never be how I make my living (I'm simply not good enough at it), but I truly enjoy it now and even the basic stuff can be very very powerful. In short, I agree entirely with the summary.

please don't (2)

Tom (822) | more than 2 years ago | (#38803153)

I said this before in a different topic, but please don't.

We already have way, way too many PHBs who think they know what coding is because they once wrote a simple script in Visual Basic, two MS Word Macros and know formulas in Excel.

We don't have a shortage of people who know how to code. But we do have a massive shortage of people who can code well. And teaching programming to kids before we have figured out how to properly teach coding is a disaster waiting to happen. Case in point: A C++ university course where I helped someone out last week. They actually teach them crap that will lead to exploitable code first, and then (in the next module) they tell them that there's border conditions they should check for. If only these idiots would go bungie-jumping without a rope first, and then add the rope on the 2nd jump, we would have much better code.

Almost all the "simple programs" that you teach people to code with are horrible pieces of junk, from input validation to testing. It teaches bad habits and it gives people a wrong impression on what coding is like. And even if (hopefully) these half-taught idiots won't ever write any code in their lives, they may well end up as the managers who decide the deadlines for the programmers.

Please don't teach coding to kids. Teach it to the few who actually enjoy fiddling and can concentrate long and well enough to focus on the details to get it right. We don't need more code in this world, we need better code.

I agree (1)

Bensam123 (1340765) | more than 2 years ago | (#38803175)

I think this could on some levels replace higher level math in junior/high school or give kids the option to choose between the two. They largely cover the same categories, only one is quite a bit more applicable and hands on. You get to actually watch your work unfold in front of you and actively problem solve and troubleshoot. Not just do a problem set, bring it in the next day, have the teachers correct, correct your errors, rinse and repeat ad-naseum.

Programming can even be fun. Keep in mind I'm not talking about C++ or such, rather VB or other such visual languages that help add a learning element to the code. Hard code without any sort of visual element takes a niche personality to enjoy. Just entry level coding that helps kids to understand how computers work and think so they can better approach computers in general in the future. I wouldn't be against a basic level hardware troubleshooting course either.

Computers are NEVER going to go away save the next apocalypse (even then I'm sure they will survive in some form). They will become more and more integrated into our lives till we have the proverbial implant that lets us get sucked into the matrix and foam at the mouth. It WILL happen, there are plenty of people working on it already. Making our entire society ignorant to one of the greatest scientific achievements that has ever happened will not work out in our favor. They should be fully embraced in our school system, not just on the level of teaching kids how to use Office suites

Sounds like an Ad from the 80s... (1)

rippeltippel (1452937) | more than 2 years ago | (#38803177)

Then why not making medicine a compulsory subject too? Otherwise people will depend on a selected few to repair their bodies. And we should also add some industrial mechanics ts as well, we don't want to depend upon some elected guys when our [add any mechanical device here] breaks. And what about energy making? That's far more important than programming, and we don't want to depend on another set of few companies' know-how.

I could continue, but the bottom line is: we have to depend upon other people, so let each one be free to choose who shall her/him rely on. I'd rather improve the quality of current compulsory subjects, in particular humanities: Our kids really need to get a broad perspective of human evolution in order to contribute to it, and no CS course will ever teach you how to think out of the box in the same way.

Also, I'm glad that there are people who couldn't care less about programming: many of them are artists and they often enrich our lives with alternative perspectives of the world. And they also mean more job for me.

Can you program yourself out of a paper bag? (1)

PolygamousRanchKid (1290638) | more than 2 years ago | (#38803225)

If the answer is "no," then don't bother trying to learn computer programming.

No amount of education, expensive tools and technology will solve that problem that most humans have.

Re:Can you program yourself out of a paper bag? (1)

Buchenskjoll (762354) | more than 2 years ago | (#38803345)

I can program myself out of a plastic bag, hang on while I make it generic...

Make programming more accessible (1)

fleeped (1945926) | more than 2 years ago | (#38803247)

Many people just don't have the natural inclination to code and be *any* good at it. So instead of *forcing* those kids to code (if you suck at something and can't get better, the chances of enjoying it are rather slim, unless you're a masochist), make the "tools" much easier to use.

"Natural" and "accessible" are the keywords here.

So, the world probably needs more GUI designers (*runs and ducks for cover)

the majority of us... (0)

Anonymous Coward | more than 2 years ago | (#38803251)

"the majority of us are entirely dependent on a select few"

This is the case of EVERYTHING and it's called SPECIALIZATION. That's why there are JOBS. Not everyone can fix his car, not everyone can build his own house, But if You can do something (fix a car), you can work for a company, fixing cars for them, and gain MONEY which you can then exchange for other services (instead of LEARNING EVERYTHING, which is impossible). This is what money is for, to pay for things we can't do ourselves.

Yes and No (0)

Anonymous Coward | more than 2 years ago | (#38803255)

I am all for teaching programming. CPUs are an everyday machine and people who use such a machine should know how it works. Who can name the six simple machines? Unfortunately Programming is not a 'build it and they will come' proposition. It relies on abstract mathematics; that is, maths most people can do in their head but not follow-the-teacher mathematics. Therein is the problem. Most people are unable to mix generic/specific thoughts about a problem described by language.

Unfortunately schools, while claiming to teach perpetual learning, critical thinking, etc, have a limited ability to impart curiosity, abstraction, logic, philosophy. Teenagers have a limited ability to behold more than the level maps of Quake 3 and how many men this year's bachelorette kissed. The role of the school hasn't changed since the 1950s: To provide the skills necessary for menial employment. There are more machines in the workplace so the literacy and numeracy required for employment has increased. But most schools don't offer more than the National chemistry/mathematics/programming competition for intellectual students.

Missing the point. (2)

thinkscout (1470225) | more than 2 years ago | (#38803267)

Teaching kids to code has more significance than just training future programmers or improving basic computer literacy (which is on the increase http://www.eurojournals.com/ajsr_3_07.pdf [eurojournals.com] ). Like mathematics, programming presents a method of solving problems that is generally applicable. Even if children don't go into science or a technical profession the patterns of though which programming experience will encourage should allow kids to reason more effectively when solving a problem. Obviously this may not be the case for every individual but when applied across an entire population positive effects may be observed. Also programming could be very useful in helping children learn mathematics by demonstrating real applications of the equations they learn in school.

Save your effort (1)

WillHirsch (2511496) | more than 2 years ago | (#38803287)

As others have pointed out, coding is for building tools, not a tool to be used. While it may make some everyday tasks more efficient now, it shouldn't be that way. We have come a very long way in terms of usability, but rather than teaching a generation of kids to hate coding, let's just keep on advancing the systems we have until interacting with them is indistinguishable from other human communication. Seems a lot more direct an approach if you ask me.

Let's teach Plumbing too (0)

Anonymous Coward | more than 2 years ago | (#38803303)

everyone has a toilet, but WHO CAN FIX IT?! *dum dum dum dum*

Please stop! (3, Insightful)

RobinEggs (1453925) | more than 2 years ago | (#38803321)

If you can't code, you are forced to rely on those that can to ensure that you can benefit from the greatest tool at your disposal

I really wish computer scientists would get over themselves. At least the arrogant ones who, like conceited physicists and preening economists, think all the problems on Earth are merely esoteric subsets of their own field of study, which they'll get around to solving in due time. Interesting philosophical arguments about universal language aside, it's simply not true that everything is better with computers or better if reduced to pure math. There are fantastic uses for programming and computing in damn near every field, but it's ludicrous seeing programmers argue, again and again, that every engineer or scientist should be a programmer, much less every citizen. Not everything is better with a computer; some things are even worse.

It's not the goddamn Matrix yet, either; we're not "forced to rely on" people who program any more than we're forced to rely on people who grow food or fix cars. We all rely on all of those people, we're comfortable with some divisions of labor, and while computers are useful in every field that doesn't make programming the most useful skill of all. It makes it the most general skill, perhaps, but that's not an argument for universal programming literacy in and of itself. Maybe every industry needs programmers, but programmers need not become the core of every industry. Nor do I believe that programming teaches any particular problem solving or critical thinking talent, regardless of the language or whether the skills are actually used to program, better than logic, chemistry, or even anthropology courses.

We certainly don't yet need to regard programming as a component of basic literacy, in any case.

Teach logic, not a programming language (1)

Anonymous Coward | more than 2 years ago | (#38803337)

Teach logic, not a programming language
Who cares if they can code in C or Java or whatever... Teach them to produce logic predicates and functions to achieve a goal, independently (as much as possible) of a programming language

Two things (2, Insightful)

Gideon Wells (1412675) | more than 2 years ago | (#38803343)

1) Basic computer literacy, if you can manage that. My school had typing or basic computer literacy mandatory. Strange as the computer literacy course included a section on typing. My school had two programming courses.

2) Increasingly dependent on the few? This isn't limited to just computers. How many of us here on /. can sew our own clothes from scratch? Have gardens capable of feeding our families year round? Able to repair our own cars? Fix our televisions, built our furniture, make the thread used to sew our clothes, possibly even wire and pipe our own homes? And the time to do it all?

Anyone can learn all of this, including coding, but is it time effective? It is a trade off for living in these interesting times. Somewhere, on some thing, we will always be dependent on others. A bit of mandatory coding isn't going to change this. As a geek I'm tempted to say this is a good idea. Then I step back and ask myself do I really want sewing, small engine repair, gardening, etc. all to be mandatory?

sharing the products of talent is more efficient (1)

dltaylor (7510) | more than 2 years ago | (#38803389)

What has helped move us beyond hunter-gatherers is individuals doing a bit more of what each does better, for the benefit of the group. Even in a H-G society, some well be better at spotting edible tubers than others, as well as some spotting predators better while others have a bit more endurance to run down wounded prey.

I'll trade you bear skins for your spear points. Your children will more easily survive the winter, and your sharper/stronger-than-mine points will give me a better chance against the next bear. Better yet, I'll trade you beer for some of your grass seed.

What about medicine (0)

Anonymous Coward | more than 2 years ago | (#38803411)

Medicine should be compulsory for school kids. Why depend on a handful of doctors for your health care when you can do it yourself?

You could replace computer programming or medicine with one of any number of skills and make the same argument. Unfortunately, our schools don't teach critical thinking.

The Fourth R (0)

Anonymous Coward | more than 2 years ago | (#38803435)

Reading, wRiting, aRithmetic, pRogramming.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>