I remember reading something a while back about how certain people's brains are just more geared towards programming and that other people simply won't really "get" it no matter how much you try to force it into their head. There should definitely be more programming classes available to those who want them, but if you're going to force the less tech-oriented students to take a tech class, it should be something that either teaches them general computer usage or helps them use computers in education.

That's another issue with how computers are used in education: you have to strike the perfect balance between "using teaching time and resources to teach technology" and "using technology to educate". Getting the wrong mix ends up screwing both aspects over since you end up with technology being forced into places it doesn't belong, or you end up with students who only know how to use a computer to do their homework.

I had to take four semesters of foreign languages during high school and two in middle school. I failed all six.I'm an excellent computer programmer with over 25 years in the industry.If I had to fail foreign languages, everyone else can fail a couple of semesters of computer programming.

My teenage brain wasn't wired for going home and learning things I spent all day learning. So I didn't and I failed a bunch of classes because I just rarely did homework. No biggie, because I did spend time reading programming books and other resources that just weren't available through traditional education.

I'm sure there are loads of kids that are like I was. They get crappy to marginal grades in subjects "their brains aren't wired for." The classic underachiever.

I guess the biggest problem is getting people to teach programming. I've taught a few students when I worked at a day treatment school, but would I go back to something like that (for that pay) when I could be building cool stuff instead (for that pay)? You'd probably just be best off leaving the kids to run their own show, as the adults will do nothing but hinder and control it.

"My teenage brain wasn't wired for going home and learning things I spent all day learning."

No teenage brain is. That is why parents also have to instill a reasonable work ethic and show them algorithms for reaching goals. If we all just passed stuff off that we weren't naturally good at as not being worth it we would be inadequately prepared for life.

I was not and am not naturally inclined towards math, but in my adulthood I went back to school, spent hours a day at it and had tutors and I finally got through basic calculus and even a little linear algebra. It was hard. And it was worth it.

Our school systems (not looking either at USA nor germany nor any other for that matter) fail in three ways: they can not teach a genious (bored bored bored) they can not teach the mediocre... and most of all they can not socialize them to live/learn together.

When I was young we kids considereds chool a children prison.. no one realy understood why we should spend 6 - 8 hours a day in school when you could read/learn the stuff in 1 hour. No one told/

"My teenage brain wasn't wired for going home and learning things I spent all day learning."

No teenage brain is.

People are different - even teenagers.I used to look forward to school starting, because I got glorious new maths, physics and chemistry books. I spent the first couple of weeks going through all the exercises and tests at home, and then was bored out of my mind for the rest of the school year. Sometimes I stole my three year older brother's assignments, so I could have fun solving problems.

When I was in high school I took two years of IBM basic {electively, and I know 1980s was a long time ago} the computer courses offered at that school, now that my kid goes there, are Microsoft Office.

I think even VB.Net would be better than what they have although I would prefer C or C++.

I had a semester that started with QBasic and moved on to VB6, then a semester of "C++" (aka C, using C++ iostreams). Those were the classes that convinced me that I could do software engineering, and that I might enjoy it.

Somehow I got past the "typing and MS Office" class. I don't know what my life would've been if I was forced into those instead of being able to try out the cool stuff instead.

I'm completely disappointed with my kid's classes most of the things I loved about school aren't there anymore aside from the IBM Basic they don't do any lab experiments in their science classes either due to cost and insurance issues.

I used to spend my last morning class {history} impatiently watching the clock because after lunch it was Computers and Science. If I were to take those courses as they are offered now I would probably fall asleep.

My kids did Logo extramural classes at the local school, so they learned what a program is, how to express Boolean logic, and why programs sometimes fail. The eldest "got it" and is now a fully-qualified (although not practising) COBOL programmer (work for a *bank*? the ignominy:-) but still working in IT. The other two are in unrelated fields, but the legacy of having learned how to make a computer do something means they have no problems in understanding pretty much anything user-level IT can throw at th

I'm not convinced you can learn a language in school. I had to study 4 languages in high school (one of the many down sides to growing up a native speaker of a dying minority language). For years, never mind semesters. I always had decent grades for them too. Two of them are now missing. If you don't get to use a language every day, it just goes away, no matter how hard you studied it in school. I would have been better off taking crash course a month before, if I ever end up needing one of those languages

Anyone who can learn how to read and write, and is capable of following a recipe for baking a cake, is capable of learning how to understand and write a simple program.

Have you ever tried it? Have you ever tried to teach people programming? I do it for ten years and according to my observastions there are some people (about 75% of population) who will never be able to program.

I'm convinced you'll observe the same if you try to teach a class Chinese, yet in China, everyone manages to learn it just fine. Start early and practice every day works for almost any skill.

That's usually a problem with the teacher. The teacher who taught "programming for dummies" said if you can bake cookies, you can program a computer. A recipe is a program. If you can follow a recipe, you can read a program. If you can read a recipe, you can alter it (what happens if you put in more salt into the cookies?). And that's programming. Sure, you are executing your own program, but you can hand it to someone else for execution, or just write it down for reference.

Read again. I didn't say "equivalent". I said if you can pass home ec, you can learn programming Most home ec won't pass you if you can't make bread or cookies. And writing recipies is coding, and cooking is compiling and executing.

I have to disagree there. If you can follow a recipe, you can make cookies exactly as well as the person at the next station. If you can copy and paste, you can run a program exactly as well as the person at the next computer. But running an identical program is NOT programming, making identical cookies IS baking. If you can find me a job where they want the same program written every day for years, sign me up. I'll return the favor by finding you a place where they want the same burger cooked 1,000 t

I'm sure that I'l get arguments here, as programmers don't like it when I say it, but programming isn't novel. They want a web front end to a SQL (or whatever) database. That's been done 1,000,000 times. Why re-invent the cookie, when there are copy-paste chunks to get the vast majority of the code required?

It's a shame so many programmers insist bugs must exist. They spend more time coding in bugs than working on processes that eliminate them. Rather than Open Source programs, we should have Open Sou

Clearly you do not program. The toughest components to design properly are those generic components that you'd require if you wish to have your paradise. The reason we create new wheels is because the set of current wheels will not fit the vehicle. Since most of us have clients that control what the vehicle looks like, what you're after is a pipe dream.

Yes, because no two programmers have ever had to sanitize inputs from a web form headed to a SQL database. If the programmers weren't idiots, they'd be able to make a reasonable argument to the clients. "yes, I understand you'd like a 13.676 inch rim with a 223/43.7/R13.676 tire on it. But if you use a 225/45/R14 on a 14 inch rim, you'll save 3 million dollars and have 99.997% of the performance you desire." Instead, the programmer mumbles "whatever" and does a shit job, blaming the ignorant client whe

I wish i had mod points for you on this one... clients typically don't know exactly what they need, that's why they're paying you to do it. It's your job as the expert to tell them what they need, not just give them what they ask for.

I'm not talking about sanitizing inputs from a web form headed to an SQL database. If you're referring to the cheapest possible bidder that pays pennies for shit code, then obviously you'll get exactly what you pay for. You seem to think that that's the only option out there. It's not, and that's my point. Like I said, generic components that fit everyone's requirements are the hardest components to get right. I did not state, nor imply that they do not exist. You can infer, however, that there aren't that

Home economics is about learning your way around the kitchen, basic financial stuff, etc, so you don't crash and burn immediately after 18. The equivalent to home economics isn't programming, but basic computer literacy.

And I believe everyone should take some form of home economics, and that it should not be a freshman class, but a senior one. One needs to be able to cook, clean one's living space, take care of one's clothes, handle one's personal finances, pay one's taxes, and do all sorts of other perso

And I believe everyone should take some form of home economics, and that it should not be a freshman class, but a senior one.

Why not freshman? Why not even earlier? I learned how to do cleaning and cooking by the age of 8. Long before Home Ec was offered in my middle school (I took wood shop, instead, but I had already learned a lot of that before, too).

(Unfortunately, liability issues have driven most "hands on" activities out of schools (and out of what parents teach their children).)

Basic computer usage skills do make sense, but those developing the curriculum will have to be very responsive to industry changes, which makes it difficult for such an education to be terribly practical

That depends on how it is taught. Unfortunately, at least in the US, these classes often end up being "how to MS Office", which was easy for the t

Why not freshman? Why not even earlier? I learned how to do cleaning and cooking by the age of 8. Long before Home Ec was offered in my middle school (I took wood shop, instead, but I had already learned a lot of that before, too).

Because normally students only get one semester or one year of Home Ec, and since after that year it's most needed for real, it makes sense to teach it then put it into immediate practice. If one doesn't put it into practice then one tends to forget, and as freshmen, sophomores

No, it isn't. To use your car analogy, computer programming is more like designing the engine or the transmission or brakes or some other component of the vehicle. Learning how to install software and how to maintain the operating system, reading the logs, and uninstalling or reinstalling software or installing software updates is analogous to understanding the "clunk-clunk-clunk".

It turns out fine. The user sends a break, and then looks to see what the problem is. They play with the parameter in the FOR and learn. Isn't that the point? It's a better result than trying to reverse the salt and sugar in cookies. 1/4 tsp sugar, 1 cup salt. How does that taste? How much does that cost to re-do?

The real barrier to programming is the OCD disorder that compels the programmers to try the for loop 1000 times to see what happens. Yes, there are that many things you can try there that

I barely ever touched a computer through my formative years. It wasn't until I got out of the Army that I began using a computer as something more than a console to play Civilization and watch porn on the internet. But, once I did, I found that I did have a knack for making sense of things and developing software, debugging and databases. Now, it's how I make my living and it's a damn good living. If I I had had the opportunity to explore this earlier on, I would be much further along in experience and thin

When I took computer classes there were plenty of people who just didn't "get it". Pointers and memory addresses seemed to be a major road-block for those people. Of course, with high level languages these days pointers aren't a major concern. My suggestion would be that a computer class is mandatory, with a "Computer Fundamentals" class that just taught a little basic architecture and how to be a smart user for those who don't want to learn programming. Programming really isn't for everyone, but you need t

What about treating it like other "literacy" types? Many subject include projects include the option or expectation of writing, speaking, mathematically analyzing, and or graphically illustrating topics. Why shouldn't dedicated education in this modality be supplemented by incorporating it in the other classes?

Mathematical and computer modelling is a huge educational and research tool. It'd be nice to see a bit more of that in our classrooms.

I think problem solving and logic are much more important than coding itself. Lots of kids have no interest in coding and it will just be another class they struggle in. Teach them how to solve a problem logically and they can apply it to lots of things in life. Coding can be used as examples to show how the logic flows through the process from beginning to end, but to try and force a bunch of kids to learn how to code variables, If Then statements, recursive loops, I'd be banging my head against a wall as a teacher.

I think problem solving and logic are much more important than coding itself. Lots of kids have no interest in coding and it will just be another class they struggle in. Teach them how to solve a problem logically and they can apply it to lots of things in life. Coding can be used as examples to show how the logic flows through the process from beginning to end, but to try and force a bunch of kids to learn how to code variables, If Then statements, recursive loops, I'd be banging my head against a wall as a teacher.

"Ah, but teaching them coding is a vehicle for teaching them logical problem solving," said the ex-math teacher in rebuttal. I used to use the same rationale for explaining to students why they needed the logical problem solving abilities they were learning in my math classes as much (if not more) than they needed the actual math techniques. I don't know how you would teach "logical problem solving" without some vehicle like math, programming, etc.

I don't know how you would teach "logical problem solving" without some vehicle like math, programming, etc.

Flowcharts no longer exist? When did that happen?

Sometimes I actually find it amusing when people criticize some unmentioned, tangental aspect of an assertion and then don't bother to connect what they've said or offer an alternative. In your case it's just sad.

...but calculus used to be required at least in the UK for O'level maths. This meant that everyone going to university - even arts students - used to have to know at least simple, basic calculus. I've seen lots of arguments that science and engineering students need to learn better english skills at school and, as a university professor who teaches them, I'd agree it would be beneficial. However the flip side of this is that the arts students need to learn better maths and science skills at school. Since c

Remember electives? Typing was elective when I went to HS. I took it specifically because I figured it would be useful for computing. Home ec, auto shop, languages, etc. All elective. IIRC, you were required to take at least one elective to broaden your horizons; but the choice was yours. I'm pretty sure my HS computer class (with 8-bit NECs!) was elective because there just weren't enough resources to make it required. That made for a teacher and students who were both motivated. The teacher was a consultant who only taught for that one hour. I wonder what he's up to these days.

I would argue that food prep should be a required class. When I was in school, everyone was required to take cooking, sewing, and wood and metal shop. Cooking is, or ought to be, a daily activity for most people; they certainly shouldn't count on a lifestyle that has somebody else preparing all their meals. A cooking class with a good emphasis on nutrition could do a lot to reduce widespread obesity.

I went to school in a third world country in 1982 and we had it then (basic on conmodore pets)

That rocks. BTW, my HS experience was in 1984 in Fairfax County, VA, USA. That was and still is considered one of the best public school systems in the US. At the time, most of the school was not air conditioned. One wing had AC and that's where the computers were. We had one classroom that seated about 30 students. There were perhaps a dozen of these NEC computers in there. The only other computers I was

Are CS courses really available in all districts? It's easier to assume that now when everybody has 3 computers falling out of their pockets. It definitely wasn't true when I was in school. There may still be some districts where the courses aren't available or there aren't enough slots for all who want to take them. When I was in school the tech was a bottleneck. Today the bottleneck is probably a shortage of qualified teachers. So. I don't think it's available as an elective to everybody. Certain

It makes sense to have one required class that teaches the basics - logic, loops, and basic algorithms. It has to be basic enough that everyone should be able to follow along and accomplish something trivial, but meaningful. Once this course is complete, then the people that like it can move on to more advanced classes if they want them. The stuff I've seen online (I'm afraid I don't remember what it's called) that Bill Gates and Zuckerberg and those guys are doing is a good first step, but most normal peop

I disagree. Many people understand the concept of variables long before their introduction to Algebra.

I remember Algebra being a course about factoring and moving variables within the equation. I am not going to deny that the skills gained in these exercises are useful; but, they should not be a barrier.

I remember being in High School and not being permitted to take a computer class because I was not in Calculus. This didn't motivate me to study Calculus; further, computer classes should not be used as a ca

I'll have to agree with this. Programming should be only taught to people who have already managed to learn the basics by themselves, using whatever methods available to them. They are the ones that will benefit the most from being taught, having already proved that both motivation towards subject and required reasoning capability exist.

Nowadays, there are plenty of self-learning resources available on the internet, both the tools and documentation are available mostly for free. The remaining obstacles for

I have came across many of using google type that can not write a single line of code without using google.

Yes, seriously. I spend a surprisingly lot of time googling stuff for others (I don't magically know everything, either, even though they seem to think that I do). If they knew how to do it themselves, they would save (a) their time (because I usually can't respond immediately), (b) my time.

Should all kids be required to take a computer class? Yes. Several? Yes. This stuff is going to be a big part of their lifestyle for the next 70 years. It'd be idiotic not to give them more of a clue that they'll get browsing Facebook.

Computing and data will be such a fundamental omnipresent part of ALL modern life that no one can call themselves educated without gaining some rudimentary understanding of how they work. That includes software, how it works, and how it's made.

Speaking as someone who had to do a "computer" subject at school back in the mid 80s, I will say that I leared a lot from that time that still applies today. We basically only learned BASIC, but I can't remember the PCs. I think they were Casio.Anyway, this subject was compulsory, even though it was not a core subject and was not part of final year exams. Most of us loved it, even though quite a few struggled with it.Like some others have already mentioned, programming does teach you logic.In my opinion and

Some of you lot here might be old enough to remember or have been victimized by "new math" [wikipedia.org]. Among other things, new math attempted to teach school kids various things that would be needed in order to be more computer savvy. I learned, among other things, basic set theory and the idea that numbers could be represented in other than base 10, including binary representation. But after I had learned programming I found at a rummage sale somewhere an older "new math" basic algebra book that contained various

I'd say the best approach is to just take your time. Most first world kids are in school for at least a decade, which is plenty of time to cover the fundamentals without overwhelming anyone who just doesn't grok it before they reach a point where they can opt out altogether in secondary school. So, small steps starting when they are young. Kids love to play with stuff, so start them off with programmable toys once they have the basics of the Three Rs down. At the outset this should be more fun than prog

Exactly, I've always thought that Calculus, Trig, and Statistics should be taught in high school with computers only. No paper, pencil, and NO math notation. Learn how to use it to solve problems and get the concepts down. Plenty of time to learn the theory and notation in college when you've had a couple years of doing tasks on a computer. Teachers spend so much time teaching the notation regurgitating the theory that has no basis in how it's actually used that it's no wonder so many teens get turned o

Why on earth should kids learn to program? If you want to teach them programming, are you going to teach them every other profession too? Will they get flying lessons, in "pilot class"? Will they be taught architecture, so they can build their own house? I think it's nonsense.

Because no matter what profession they choose, they will work with computers. That's the way the world is going. Teaching them how to use those computers effectively will be a huge advantage to them. For example, most office workers spend their days doing the same repetitive tasks over and over again. Knowing how to write scripts to automate those tasks would be very useful. Teaching the basics of programming isn't equivalent of training them to be developers, it's just showing them how to use the tools the

It's not the government's job the educate children, even less so when the funds used to do so are extorted essentially at gunpoint from people who don't even have children or whose children are not using the public schools.

However, in the current terrible and violent public school system, it's beneficial to the kids to have programming courses available, at least those so inclined may get something useful in life out of it. The overall public school experience is detrimental and harmful though, to kids and

One or two good computer classes that would teach a bit of code but mainly a) how computers work (hint: NOT MAGIC, and NOT SENTIENT) and b) logic would be great.

Because people use computers every day, and thus should have at least a basic understanding of how they work, right?

So... why isn't a basic Automotive Maintenance class mandated as well? Oh, and we should also mandate a basic electrical class, since we all use electrical devices every day. Oh, and a basic food prep class, and a basic parenting class, and a basic household/finance management class...

You know, I started off going for sarcasm, but the more "joke" mandatory classes I think of, the more I think,

Many of those subjects *are* required in American high schools. Electricity and the principles of combustion engines/mechanical systems are covered in physics and chemistry. The math used to manage finances and in food recipes is covered by traditional math classes, even in elementary school. Biology covers the mechanisms behind producing a child, if not the parenting.

There is value in understanding the basic concepts of computing, just as there is value in the basic concepts of chemistry, physics, biolo

I recommend that children learn nothing about computers beyond how to play games and use Facebook. Don't learn programming, hardware, operating systems, or networking. That way, I'm employable for the rest of my life.

Programming shouldn't be required; but teaching the ability to organize your thoughts, find references, documents and articles on the web (or library), separate facts from opinions, communicate those well, now THAT is a class I would like to see. Some of the best programmers I've known actually didn't learn a language in their first course; instead they learned how to look at problems in a programmatic way first. Then the language just becomes a tool to be use to realize the design.

There is zero financial reason for anyone in America to pursue STEM. They are better off getting into medical, legal, real estate or starting their own business.

All my life I wanted to be a programmer like my Dad was in the 70's. He made good money and it was a very respected career even through the 80's. I tinkered with computers, learned to program in BASIC, then C and went on to learn a lot of UNIX shell scripting.I graduated high school in 1991 and entered college with a bit of excitement. Half way thro

I think that you can find crappy work environments in any field of employment, and Software is no exception. I've been coding professionally since the late 80s and have nearly always enjoyed my projects and work environment.

Most students won't be scientists, but science is required, in part to help students understand the basics of how science works.Most students won't be artists, nor can many of them succeed at being good artists, but many schools require at least some art or music, in part to help students have a basic understanding of this important part of our lives.Most students won't become programmers, but they should at least understand the basics of how you tell computers to do things. This understanding will help th

What are the mandatory subjects that nearly all STEM students think are useless? english & history
What are mandatory STEM subject that nearly everyone else thinks are useless? math, chemistry & physics

Now that we are adults (many of us are now parents also) we can see that this all of it was important and we should have applied ourselves better in high school. We can say "all kids need to learn computing theory, programming etc. because it is important" all we want; but, look how it was when we were young. Ultimately, the lessons I take away as far as educating our kids:

1. We need to pay & respect teachers better to get better results in public education
2. For key STEM subjects, you must find a way to make it relevant to the student TODAY.
3. Parents must work everyday to keep their kids motivated to learn.
4. Bottom line: kids need discipline and fun in their lives in equal measure. Don't beat it into them, motivate them & let them WANT to do it.

No, no, a thousand times no. Would you require plumbing classes? Electrician classes? Carpentry? Auto repair? Accounting? The list goes on. You can't offer classes for every job specialty that there is out there. The logistics alone are unfeasible. Where will you hold these classes? Where will the equipment come from and who will maintain it? Who are you going to get to teach programming? These are fine things to offer as electives, but to require programming is idiotic.

Show me one person who wishes to do such tutoring - and I'll show you someone who can't competently explain any of it.

My experience with programming classes in high school (yes, in the late '80s) differs from yours. Your statement is wrong. I've lived through the exception. Yes, most of the learning was self-taught, but those who didn't understand had it competently explained until they did.

In the 80s, lots of adults were fascinated... this enthused them to study alongside students. That happened. Today, adults are either specialists already or are disinterested. Specialists are, in my experience, today, unlikely to find a career teaching a mandated subject (likely to a bunch of less than enthusiastic high school students) a compelling occupation.

Yes, the specialists are unlikely to take a huge pay cut to become a teacher. The "fix" is to cut teacher pay so that the public schools fail and all that money is sent to private schools who will pay 10x the public rates and deliver a better education for 1/10th the cost of public school. Or so I'm told on Slashdot.

The specific teacher I'm thinking of had a PhD in education, so I'm not sure had he come later that he would have had the interest crushed from him. He enjoyed sparking the curiosity of stud

That description of measure theory re-affirms why I wanted to know more in the first place. I tried reading one book - and, while the subject material was interesting, the language used to explain the concepts felt rather opaque and this represented an uphill struggle - for me - as a non-specialist. I cheekily mentioned it - erm - because I'd love to find someone who has a deep understanding who wants to de-mystify the subject... My interest was piqued by the possibility that measure-theory might illumin

Programming should be part of the math curriculum and grow in complexity with it. After teaching math to kids grades 0-12 for the past 150+ years, we've got a rough idea of where the cutoffs in complexity are, and at what level it doesn't stick to such-and-such a percentage of kids of a certain age. But if you can expect a 10 year old to compute the volume of a box, you should also expect him to compute the total volume of a list of boxes supplied in a flat comma-delimited text file with one L,W,H per line.

Aside from basic arithmetic, a programmer needs very few math skills. I've almost never used algebra during my entire career as a coder. Of course, for my own projects it's a different matter, but even then I've never used anything beyond trigonometry.

Aside from basic arithmetic, a programmer needs very few math skills. I've almost never used algebra during my entire career as a coder. Of course, for my own projects it's a different matter, but even then I've never used anything beyond trigonometry.

Isn't a function basically a representation of an algebraic formula? And I was always under the impression that exponents were de-facto elements of algebra...

In any university-track school curriculum, calculus is a requirement, not an elective.

Yea, but the problems are the following:1) except for engineering and math students, very few students will *take* higher math classes in college2) the first two weeks of college calculus covered more then the entire year of high-school calculus. It's slowed down so people who want to go to college, but don't want to take math, can keep up.3) learning abstract logic through programming in an expressive language like python or ruby (or perhaps some domain-specific language) is much more applicable to day-to-

I took a comp sci class and two programming classes in High School. There was talk of adding a third but it never happened while I was there. We learned pascal in the final class and I suppose their might have been copying going on but I sure didn't know about it. Both of the teachers I had though were interested in the curriculm and had experience programming themselves. Actually now that I think about it there wouldn't have been a good way to copy paste any of the code as we were working on 8086's and 808