Who Will Teach U.S. Kids To Code? Rupert Murdoch
theodp writes "For all of their handwaving at Code.org about U.S. kids not being taught Computer Science, tech execs from Microsoft, Google, and Facebook seem more focused lately on Plan B of their 'two-pronged' National Talent Strategy. So, who's going to teach your children CompSci? Enter friend-of-the-Gates-Foundation Rupert Murdoch. Murdoch's Amplify Education is launching an AP Computer Science MOOC this fall (Java will be covered), taught by an experienced AP CS high school teacher (video). An added option, called MOOC Local, will provide additional resources to schools with students in the CS MOOC. MOOC Local will eventually cost $200 per student, but is free for the first year."
Some of the subjects that will be included are:
* wiretapping for beginners
* how to put up ineffective paywalls
* how to run a thriving social media network into the ground
Of course, being a "computer science" class (by which I'm sure they mean "ICT for dummies"), there won't be some of Rupert's other specialties. Such as:
* How to influence people by a coordinator national campaign by the newspapers and other media you own (and thus ensure a victory for the side who promised you the most in the next election)
* How to lie, cheat and steal your way out of trouble
* News? We're not a news channel, we're an entertainment channel. And we'll take it to court to ensure we can lie while pretending it is news.
HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
...need to know how to code
Yup more biased crap from what some site called disinfo.com that says they're going to be "tracking" the students. I have to wonder if the submitter is the author...
When are people going to realize "coding" != "computer science"? (or <>, or ! .equals(), or ne, etc. depending on your flavor). Nothing against Java devs, but IT needs a little more than programmers in language X. There are millions speaking English, Spanish, etc., but not that many of them churn out bestsellers, or even mundane but usable prose. You're certainly not going to make good or even adequate writers by (only) teaching a language. You're not going to improve the IT industry by training a million more monkeys to (only) tap away at a million more keyboards.
But perhaps Oracle does like to see an increase in their user base.
[OK, rant over]
Free, as in your money being freed from the confines of your account.
Let them teach themselves. That's how many of the current generation of programmers got started. And it's even easier now than it was before. There are so many free resources on the internet to get you started. If there is any direct teaching, it should be in programs outside the regular school curriculum. More free day-camps and stuff where teachers can teach without having to worry about state imposed curricula. Students are free to be there or not to attend so you have kids who (mostly) want to be there, which creates a better learning environment for all. Most people I know who are good at anything aren't good because of what they learned about it in school, but rather what they did outside school to further their own learning.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
As the profession of software development matures, I increasingly question the value of teaching coding first. That gives the illusion that once you know how to code, you are ready to be a developer.
In my opinion, that approach is what has led to the pervasively vulnerable infrastructure of today. People think that because they can make something work in PHP, that's all there is to it.
I'm suggesting that teaching kids to attack and exploit vulnerable systems first might be more valuable. Once you understand the basics of that, you become powerfully motivated to avoid writing vulnerable code. And as you probably know, you need to learn some programming anyway to be an effective attacker.
I realize this will never happen. There are lots of people who would say, "Oh, noes, we can't teach kids to hack! They'll do something evil!" I would reply, if you are seriously afraid of having your systems compromised by high-school kids, then you should agree with me on the importance of teaching defensive programming early!
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
Who Will Teach U.S. Kids To Code?
It will have to be Mcdonalds... make it a happy meal toy to code COBOL.
No, not that Al Bundy! This one can program and has a thing or two to say about US and UK education in CS. Roughly:
1) UK is bad and so is US.
2) All the tools that can save the situation seem to come from the US, specifically, MIT.
Here's the lecture which is unfortunately in 22 small clips.
http://www.blendedlearning.me/Public/TomConlonMemorialLecture/index.php
Computer science as much about coding as astronomy is about building telescopes ...
Meet the casts of Code.org and FWD.us
The first thing that needs to be done is not have all American students (who are there because the have some interest) quit these courses after the first several semesters. The second thing is to stop excessive outsourcing of development jobs. This has nothing to do with skill and training, its more about saving money. The third thing is that these businesses don't feel your computer science degrees are all that important anyway. You are putting to much importance on technical things when these companies believe their business models and management are the keys to success (not technology). When it comes to technology... the feel they can get anyone to do this work.
Let them teach themselves. That's how many of the current generation of programmers got started. And it's even easier now than it was before.
How so? Back then, a lot of people weren't doing "computing" style tasks on a machine that's digitally locked down. The only machine resembling a computer that was digitally locked down then was a game console, and game consoles didn't try to be all-purpose home entertainment devices the way they are now. Nowadays, a child might not have access to a PC but instead might have access only to devices running iOS, for which programming tools are priced way out of the range of a child saving his allowance.
It's hard to build an interest in astronomy without an interest in amateur stargazing, and it's hard to build an interest in that if all the telescopes to which you have access are digitally locked down to view only specific stars and planets, which the manufacturer claims is a safety measure to keep, say, non-professionals from pointing the device at our sun. Likewise, it's hard to build an interest in computer science without an interest in amateur coding, and it's hard to build an interest in that if all you have are iDevices and game consoles engineered specifically to lock amateurs out of coding.
The current generation of programmers was allowed to learn by experimentation. The next generation isn't allowed to experiment, as they will get thrown into gaol for being hackers or terrorists. Better to put them into a "safe", well defined and well controlled classroom.
Are they teaching Comp Sci or Java? There's a difference, after all.
Why would US kids want to learn to code when they will be so rich that they can simply hire anyone from around the world!
When are people going to realize "coding" != "computer science"? (or <>, or ! .equals(), or ne, etc. depending on your flavor).
I think it'll happen when you read past the Slashdot title to the summary, and realize that the article is talking about computer science and that the whole "Who Will Teach U.S. Kids To Code?" this is a fabrication of the submitter/editors.
Nothing against Java devs, but IT needs a little more than programmers in language X. There are millions speaking English, Spanish, etc., but not that many of them churn out bestsellers, or even mundane but usable prose.
This is probably the most elegant argument I have ever seen for teaching algorithms, big O notation, and other theory topics, instead of languages, which is a switch most U.S. universities made after the decision was forced by the accreditation change in the late 1980's.
And it's absolutely, totally, completely wrong.
A craftsman must know his tools.
You need to learn at least one language deeply enough that you have a feel for the calculus of the language, and how to force it to represent any CS concept you want it to represent. Ever since they stopped teaching languages as a subject because they could no longer offer credit hours for doing so, the U.S. has been mostly turning out crap coders, except at schools like Brown that have self-directed programs where you can actually still learn a language from an expert practitioner.
A secondary consideration is that, when programming in a high level language, you should know what's happening under the covers. Java and other "pointerless" languages are an incredibly poor choice for doing that. So I agree on your condemnation of teaching the Java language, but it's for a reason other than the one you cite. The best way to understand what's going on under the covers is to use a high level language which compiles to assembly, and stop after the compilation to assembly; "cc -S" does this, although C isn't the only language in this category. Which brings me to the second point: apart from learning a single high level language to a great depth, it's also necessary for the student to learn an instruction set for a particular architecture, which, given prevalence, is going to mean either x86 or ARM these days. If you can't look at the high level language and know what assembly is likely to be generated from it, you do not understand your high level language. Without a grounding in assembly language, you are never going to have an intuitive grasp of memory layout or pointers, and if you learn "pointerless" languages, particularly ones with garbage collection, you may be able to program them, but you aren't going to be able to write a runtime for them yourself, with no intrinsic idea of memory layout, reference, or management.
Which leads us to our third consideration, and the one that gets in the way of problem solving using computers as a tool, which is really what we are trying to teach when we talk about teaching "computer science" or "coding": You need to repeat the process with a second high level language that also does not target a virtual machine. Only by being able to contrast the two calculus of the different languages are you going to be able to generalize in terms of an arbitrary computer language being able to be applied to a problem set. There's a reason that mathematics courses teach both Newton and Leibnitz style calculus to students, and it has nothing to do with not being able to solve problems with one that you can with the other. It has everything to do with the ability to generalize theory across systems.
The fourth and final consideration is algorithms, big O notation, and other topics, and how to represent them in your high level language. Yes, you need to learn this, but you need to learn it in a context of a language calculus, since throughout your career, if you end up coding, you will be called upon to translate these concepts to the
If this is supposed to be preparing them for a job of some kind rather than just giving them skills to do their own thing, then it's missing the credentialing necessary for one to attain a job. Online courses, certs, and university degrees just don't count for much. I'm thinking that in some ways putting students on a path like this is actually harming their future job prospects.
Who is MS going to hire, the skilled guy come from an Ivy or the guy with slightly more skills with a University of Phoenix degree?
All the amazing programmers I've ever known started out self taught. They all have a back-story about how they had "this old machine.." or they would "go into computer lab on study hall.." or "..spent hours typing in the code out of the magazine..".
I don't think you can effectively "Teach" programming as a large portion of it is right-brained, but making some sort of CS syllabus available is a great idea for kids that actually want it. With all the action to abolish public education, I am dubious about any suggestions founded by capitalist juggernauts.
Join the Slashcott! Feb 10 thru Feb 17!
Surely with all of these advances in techonolgy, most programming chores can be turned over to virtual robots in the future. If the predictions are correct that robots will replace most labor jobs, then couldn't they also replace most programming jobs, too? Might we not be headed back to the day where we looked at programs as accepting inputs into a black box and spitting out the outputs?
For sure, there will be computer scientists in the future, just like there will be physicists, but in the early days of the automobile and even into the middle of the last century, you had to be a mechanic to operate one. Today, everything is plug and play. Architecture used to require drafting and engineering skills, but today, you input your ideas on a computer and behold you have your plans.
At some point, with all of those design patterns floating around in cyber-space, isn't it going to just be a matter of a program assembling the pieces based on the parameters inputted by the user, not the programmer?
Why not trades schools / apprenticeships? like system?
College Computer Science is overly tilted to theory (very-es from to school to school) and can take 4+ years and 4+ years pure class room can be over kill.
And when you talk about skill gaps it seems lot's of people with Computer Science schooling seem to have them.
also other parts of tech like media arts good places like Tribeca Flashpoint Media Arts Academy are hurt by being only a 2 year school but the said thing is that you can learn alot more with real skills and real work there then at an 4 year school.
... that some parasite would come along and try and 'monetize' the MOOC craze.
I would expect nothing less from a morally bankrupt old c**t like Rupert Murdoch.
I hope he loses more money, like he did on that stupid social network and those paywalls.
While we are it, let's teach everyone to engineer, fly an aircraft, and perform open brain surgery!
...they want more American students to learn how to program, so that even more Americans will be educated but jobless as the market continues to be flooded with H1Bs?
Ah, no, that's not it. They would rather hire American programmers at even lower wages than the H1Bs require. They absolutely hate having to pay someone enough money that they can raise a family on a single income and still retire after 65 years of work. Paying programmers THAT much means not being able to afford that third jet!
I took AP computer science in high school, myself, and it really wasn't programming, it was pretty much the same as a college data structures class (arrays, linked lists, trees, sparse matrices, searching and sorting, etc.) Going straight into that without some earlier programming foundation doesn't really work so well. We need to start kids earlier to really get proficient.
The logic skills needed to code can be developed, too, but it needs support much earlier, including in elementary school math. I remember in 2nd-4th grade, our textbook was called "sets and numbers," and we did a lot with set theory, which my son's school hasn't. There are tradeoffs: he was into algebraic equations in 4th grade, which I never did until at least middle school. But overall it seems like he's had less emphasis on logic and discrete math and more on general/continuous math. My wife and I have tried to supplement it, but it isn't really standard anymore, where we live.
Anyway, if kids get enough practice with sets and set operations in elementary school, then logic operations a bit later (which and teach them how it's really the same, AND = intersection, OR = union, etc.) and throw in a few other concepts like variables, then they should be ready to start getting some early programming classes in middle school, which will stick with them a long time.
No one. U.S. kids are too retarded already.
If you want Americans to learn programming, provide jobs for them.
teach them math / logic instead, USA schools are still lagging in maths. why bother teaching a kid how to code if he hasn't even been exposed to algebra yet?
when I was first started learning to program with C, I told my friend I was reading 'this' book to learn how to make games,
he quickly took the book, flipped to the last page, and said 'so I take this cd and put it in my PlayStation, then I can make games?'. "no, no, no, you have to WRITE the game with code", etc this was in my 6th year of elementary school. I took a psych 101 class a few semesters ago, the teacher was a rather old woman in her late 60's, who had a girl who was studying computer science. One day in class she brought up how a program is 'written', and few students shook their head knowingly like it came as a surprise to them a few years ago when the finally found it out.
looking back at these days, a lot of school children have had the wrong outlook on computers, and coding. a simple coding class could change all of that, it doesn't even have to be C or Java, it could be html, this should give them the idea as they may have _never even seen_ or _heard of what code is_ at a early age. The problem would be after this is coding will start to seem like arcane knowledge, and a bunch of stuff you have to remember. That is an absolutely wrong outlook many people have had about programming. Real programming is about algorithms, data structures, logic. MATH. When you know maths, programming becomes an art. Without math it becomes a nightmare. /end
"Who will teach kids?"
Come boys and girls, I will teach you the ways of the code monkey herd.
"friend-of-the-Gates-Foundation Rupert Murdoch" tells you all you need to know about the Gates Foundation.
Before you bash MS too hard on this, you should probably check out the amazing game/engine they're providing to xbox, xbone and win8 users for free:
https://joinprojectspark.com/
It's meant for kids (though I'm sure adults will become engaged) and is basically the AAA version of Kodu, a programming language that was built by MS Research with the explicit aim of teaching kids to code.
But . . . But . . . TEH OBAMA!!11!!1!!11 !11!1!!1!1 !!1!!!11! !11!11!!1!1 !!!11!111!! !11!1!!1!1 !!1!!!11! !11!1!!1!1 !!!11!111!! !11!11!!1!1 !!1!!!11! !!!11!111!! !11!1!1!1!1 !11!1!!1!1 !!1!!!11! !11!1!!1!1 !111!1!!1!1 !!!11!111!! !!!11!111!! !11!1!!1!1 !!1!!!11! !!!11!111!! !!1!!!11! !!1!1!!11! !!1!!!11! !!1!!!11! !!!11!1111!! !!!1!!!11! !!1!!!11! !!!111!111!! !!1!!!11! !!1!!!11! !!1!!!11! !!!11!1111!! !11!1!!1!1
I've been wondering what is up with Slashdot lately, all these fawning articles in support of the astroturf campaign for getting more cheap programmers into the U.S. Despite all evidence to the contrary (good studies by professor Norm Matloff, and quantitative proof at EPI.org) we keep hearing about the horrors of not enough STEM workers.... I just noticed that Slashdot is part of DICE now. Ah..that explains a lot.
Are they teaching Comp Sci or Java? There's a difference, after all.
Yes there is, just like there is a difference between mathematics and engineering. One is theory the other is practical.
Correct. In theory Java is great. In practice, Comp Sci will teach you how to be a good programmer.
Murdoch's people don't code - but they sure know how to hack!