Schemes to teach the masses to code

Yep, exactly. Cooking classes are mandatory, because otherwise, only girls will take them. Making everybody take it gives everybody a chance to find out that they enjoy cooking.

Similar with computer science: offering it as an after school club might get some “typical” computer science people (white male nerds) to sign up. But making it mandatory (or, at the very least, letting it count for credit as math or science) gives everybody a chance to find out they love it- and helps fight the stigma of programming only being for nerdy boys.

Making computer science something you have to seek out means that you’re marginalizing women, minorities, and people from lower income families. This is exactly why Code.org is pushing for computer science to be taught in school as a part of the official curriculum, not just as an elective or an after-school club.

I’m currently in “High School” here in Germany (or better: “Gymnasium”, as we call it here) and I’ll write my final written examination in 7 weeks.
In Germany (or at least in Baden-Wüttemberg, the Southwest part of Germany ^^) we all have the opportunity to choose courses for our 11th and 12th year. One of them is “Informatik”, basically computer science, but a little more practically oriented. So I’ve had almost 2 years of 4 times 45 minute lessons a week now. First we learned HTML + PHP, including arrays, iteration, control flow and all that stuff + a little recursion. Then moved on to Java, learning Classes, little bit of OOP, recursion, Linked Lists, Sorting algorithms and currently stuff like sorted, balanced binary trees.

As of now I’m not allowed to do parts of my Abitur in Informatik. That’ll change from next year on, though (I’ll be gone then :/).

I agree to KevinWorkman. Programming should be taught to everyone. Or better: Some kind of logic thinking. Currently learning to program means learning how to use computers comprehensively, that is, learning how to use the command line (we had a little bit of this when learning Java), learning about how the internet works (HTML + PHP). Basically our computer course included a lot of specification learning, less of the “essence programming - the thinking about processes” stuff. It is also bound to current technology, or better - the technology that was “current” when they wrote the curriculum. Programming technology changes fast. It’s not like in maths, where everyone seems to have agreed to some basic concepts and syntax (Sets, Basic number operations, functions, etc.). I, for example, would have liked to learn a lot more functional language stuff in school, instead of Java, since I know functional languages will take over the world, it’s just a matter of time evil-laughter. Honestly, though, it’s not really practical to stick with one technology.

Also, I believe in the future (if programming is going to be taught to a lot of people), programming will appear much more in our daily lifes: It already started with people using Excel in their dayjobs (See Reply #38). They program macros for making their life easier. I think that is going to appear in much more applications in the future. Or at least it should. Because it could make so many things easier! :slight_smile:

About the “the great programmers and the rest” debate: Something like that seems to exist in everything that can be done as a hobby at home. For example Art: I know of some students in an art course at our school, who are significantly more skilled than the rest of the students. It’s not as extreme as in our computer science course, to be honest, but it’s noticable.

I for one would be happy if my school started teaching programming seriously at all.

At the moment it is only taught in the last 2 years of the IT class, and even then it is optional in the last year.
Then even when it is taught, it’s only one assessment in the year and counts towards about 1/8 to 1/6 of the years mark.

Part of the problem is probably that we have no teachers that can program.

That said, I’m on the “programming is a specialised skill and shouldn’t be forced” side of the argument. Enough people have trouble with just basic algebra. No point adding harder problems for them to deal with.

It would be really helpful that all scientist(not just computer) could handle basic programming. They have huge data sets that they can’t use for full potential.

Publicly releasing their data for a start would be a much better solution for everybody.

I live in Texas (Education varies greatly between states). Students are not even taught how to type, save files, or other basic computer skills. The first time students are given an option to be exposed to “programming” is a 2 week project in Scratch during an engineering course (7th grade). By then, making the cat follow the mouse is no longer exciting, and the project is just tedious. There are computer science classes in high school, but (at least year 2) is more of the “remember this thing for the AP test” than actually using logic to design a program. In my opinion students should be taught basic computer skills (which almost every job use) and be exposed to Scratch in Elementary Schools.

I should like to add here that cooking is a reasonably essential life skill, along with the 3 Rs. Programming is irrelevant to 99% of the population. It’s easy to think that just because you’re a programmer and you’re in a hi-tech industry and surrounded by all sorts of people using computers all day long in desk jobs that computing is an essential skill for everybody. But you really have to get this in perpective. 80% of the workforce don’t sit at desks and use computers at all. They stack shelves, dig holes, plough fields, flip burgers, shoot cows, make sausages, bake bread… the vast majority of professions and work do not involve going near a computer. It would be an absolutely heinous waste of taxpayers’ money to fund extensive computing programs for schoolkids when it’ll be utterly irrelevant for 80% of them. (I could say the same about one or two other subjects at school heh ::slight_smile: )

Yes! Them! Remember all those other kids you went to school with for all those years and then never saw again? Guess what? They all went off and got jobs that don’t involve sitting at a desk. Maybe 6 kids in your class of 30 got a desk job. I’m fairly certain I’m the only professional programmer in my entire year at school (about 200 kids).

Cas :slight_smile:

It’s also important to note that there is no shortage of good programmers out there despite the lack or uselessness of education around it.

I’ve agreed to disagree, and I’m sticking to that agreement to disagree.

I slightly resent the implication that I simply lack perspective here. I come from a very blue-collar town, a very blue-collar family. So I know not everybody is a computer programmer.

I also think that basic problem solving and logic skills would benefit pretty much everybody, regardless of whether they spend 18 hours a day in front of a computer, or never touch them.

[quote=“princec,post:47,topic:53175”]
We’re already spending the money, only we’re spending it on “computer classes” that don’t actually teach the kids anything. I’m not sure if you’re reading my posts (eh, I don’t blame you, haha), because the minimum of what I’m talking about isn’t an “extensive computing program”. It’s updating the ancient “computer class” that kids take now, and adding the curriculum ideas that Code.org has already come up with to teach logic and problem solving instead of “learning how to type” 3 times a week for 5 years.

Again, I slightly resent the implication that I simply lack perspective. I understand that not everybody is a programmer. Skipping over the fact that maybe more of them would be programmers if they were ever introduced to the topic, I’ll still argue that learning basic problem solving and logic would help everybody out, regardless of whether they end up becoming programmers or not.

But I’ll bet the ratio of good programmers / not-so-good programmers is suffering.
The bad ones still get employed, so clearly we could still use more good ones.

Code.org disagree with you.

But even if we do assume that we have “enough programmers”, we also don’t have enough female programmers, or minority programmers, or programmers from lower-income families.

Teaching the basics, from a younger age, helps with that problem. If for no other reason, this is why it’s important.

Plenty of good ones about. More than plenty.

I agree that whatever is being taught today in schools wrt. computers is largely a total waste of time, effort and money (“how to use Word!”). I think that the whole of school education is teaching kids the logic and problem solving abilities that you allude to, though. By the time you get to university you’re more or less on your own and coping, if they got their jobs right.

Cas :slight_smile:

Hmm I think where you come from might possibly be very different to where I come from…
…and I hate to trot out this old joke but, “Fire service crews, road diggers and coal miners all seem to have the right number of women working in those professions” (dons flameproof pants)

Cas :slight_smile:

Like I said above: if basic problem solving and logic is already taught so well in other subjects, then why do so many novice programmers struggle with it so much?

It’s because nothing teaches problem solving and logic quite like programming does.

Problem solving and logic = good. Teaching programming = teaching problem solving and logic. Therefore, teaching programming = good.

That shows that there are lots of programming jobs available. It doesn’t neccessarily mean there aren’t enough good programmers to fill them (it still could). There’s plenty of businesses trying to hire programmers at nowhere near enough pay for the tasks they’re expecting them to do.

This could be caused by the same reason: Businesses want good programmers but only want to pay for mediocre ones. And forcing kids to take programming classes in school is certainly not going to help improve the situation.

Of course this whole discussion is merely speculation. Nothing is really certain until tested.

In America, only 15% of computer science graduates are women. 8% are Hispanic Americans or African Americans. (source)

I’m not touching this one.

[quote=“HeroesGraveDev,post:55,topic:53175”]
I’m not sure how your logic works. The unemployment rate of CS graduates in America is only 2%. So even if we employed 100% of them, that still leaves a huge gap of available jobs.

[quote=“HeroesGraveDev,post:55,topic:53175”]
I disagree with your wording. We aren’t talking about “forcing” kids to take programming classes. We are talking about making it an option in a way that it isn’t yet, in the same way that we offer art courses, or music, or physics.

Ah. I thought we were talking about it as a core subject. In that case I have no problems with it.

I don’t think programming is useless, though. There are actually concepts in programming that I would have found very useful in reinforcing concepts in other subject areas (particularly the interplay between programming graphics and dealing with geometry/vectors, etc). Programming could be a very useful cross-disciplinary tool in K-12 education, and provide an immediate answer to kids who get discouraged and wonder “why do we have to learn this thing if we’re probably never going to use it?” You can show children instant applications for things by introducing them to final products that they can see and interact with, which will likely cause a good many of them to wonder, well, how do you actually create this thing? Each day, children are interacting with software more than they ever have before. It is a clear point of entry for getting them involved in a broad range of educational concepts.

This doesn’t mean that computer programming has to become a mandatory, core educational subject like Math, Science, History, English, or what have you. I’m just saying, I think we’re squandering a good opportunity to let students see a broad range of concepts from a different perspective. I mean, hell, when I learned remainders while doing long division in Math, I constantly found myself wondering, like, what is the point of this? What can you really use this for? It makes sense if we’re talking about decimal figures, because you can relate this to money and all sorts of other practical applications. I found learning the role of the modulus operator in computer programming extremely eye-opening. That’s the sort of thing I’m talking about. And the key is that you can work pretty much any discipline into the programming atmosphere. You could have students design an application that incorporates text on a certain subject (say, historical dates), or which elucidates elements of English grammar, and so on. There are tons of applications here.

Pretty sure that’s similar with all of STEM though. Maybe marginally worse in computer science.