More Students Learn CS In 3 Days Than Past 100 Years 287
theodp writes "Code.org, backed by Bill Gates and Mark Zuckerberg, boasts in a blog post that thanks to this week's Hour of Code, which featured a Blockly tutorial narrated by Gates and Zuckerberg, 'More students have participated in computer science in U.S. schools in the last three days than in the last 100 years.' Taking note of the impressive numbers being put up on the Hour of Code Leaderboards ('12,522,015 students have done the Hour of Code and written 406,022,512 lines of code'), the Seattle Times adds that 'More African American and Hispanic kids learned about the subject in two days than in the entire history of computer science,' and reports that the cities of Chicago and New York have engaged Code.org to offer CS classes in their schools. So, isn't it a tad hyperbolic to get so excited over kids programming with blocks? 'Yes, we can all agree that this week's big Hour of Code initiative is a publicity stunt,' writes the Mercury News' Mike Cassidy, 'but you know what? A publicity stunt is exactly what we need.'"
Grammatical oversight (Score:5, Insightful)
I'm pretty sure that the last 3 days are contained within the last 100 years.
Writing 32 lines is not "Learning CS" (Score:5, Insightful)
Is it even possible anymore? (Score:5, Insightful)
I work on web apps, with DB back ends. I need to be able to set up the DB structure, create the queries, set the indexes, schedule the DB backups, then set up the web server, code the back end to get the data, write a frontend in javascript using knockout and ajax to make it responsive and usable. Since we have a small development team each of the three of us has to be able to do all of these steps. This is in addition to the ERP programming and interfaces I also do for this.
Is it even possible for new people to come along and learn all of this? I am able just because I learned as it came out piece by piece, but I keep wondering if new people will ever be able to do the full range of things. With a larger team you can split it up, but rarely do you get a team were each person is fully competent and unless there is someone who can call BS on any part of it there is potential for problems.
I also wonder if anyone in their right mind would bother learning all of this. When we interview people under 30 they are saying stuff like "I do Apple IOS programming and nothing else". I know there is a lot of ageism anti-old people sentiment expressed here on /., but when you actually need something done and can't hire 10 people to do it you can't hire these younger people.
Yeah, no ... (Score:5, Insightful)
Learning a little about programming and computers is not "CS".
A high-level tutorial is just that, and this is just marketing spin on teaching some computer literacy. It's admirable, but it isn't what they're claiming it is.
Re: Writing 32 lines is not "Learning CS" (Score:5, Insightful)
Indeed, but what it _did_ do is expose them to the idea that computers can be tools that do what we tell them to do, and not just magic black boxes for mindless content consumption. Even though 90% of the kids will completely forget about it tomorrow.
Re:Writing 32 lines is not "Learning CS" (Score:5, Insightful)
'More African American and Hispanic kids learned about the subject in two days than in the entire history of computer science.'
So all it takes is 3 days to learn all of computer science? The universities and colleges have been forcing a 4-year curriculum upon students and employers have been demanding applicants have a doctorate degree plus 100 years experience for years. By the standards set by Hour od Code I would have learned everything there is to know about computer science after a month programming my Commodore VIC-20 (Commodore PET BASIC and 6502 machine language - there was no assembler at the time so every instruction had to be POKEd into memory). Zuckerberg and Gates want to commoditize computer programming, software enigeering, and software development so wages drop to less than minimum wage.
Re:Writing 32 lines is not "Learning CS" (Score:5, Insightful)
Thank you. The BS quotient in that headline was alarmingly high. Or are we now just publishing Microsoft and Facebook press releases verbatim?
Re:Is it even possible anymore? (Score:2, Insightful)
I need to be able to set up the DB structure, create the queries, set the indexes, schedule the DB backups, then set up the web server, code the back end to get the data, write a frontend in javascript using knockout and ajax to make it responsive and usable. Since we have a small development team each of the three of us has to be able to do all of these steps.
OK. First if you are looking for someone with that experience, you will be one of those employers "who can't find anyone qualified". All that stuff was required for your job and your job only - so of course you learned all that. Your competitors may have their development team structured differrently; so poaching may not work.
I am able just because I learned as it came out piece by piece, but I keep wondering if new people will ever be able to do the full range of things.
They could if given the chance. Unfortunately, I am almost completely certain that if your employer needed to replace you or a member of your team, they would demand ALL of the skills that you used and if folks where lacking any, they would be labeled as unqualified.
. When we interview people under 30 they are saying stuff like "I do Apple IOS programming and nothing else".
Of course! If they are programming iOS stand alone apps, why would they need to do anything else? And many programming skills require quite a large investment in software and hardware to learn on ones own.
And then learning new things: there's so much out there, what should one concentrate on first? The most popular NOW or what you may think will be popular in the near future? It's real easy to invest time and money and eventually get burned. It happened to me when I invested the hundreds of dollars for Palm development and hundreds of hours of time only to have the market go a completely different direction.
And of course, one may actually want a life other than programming all the time.
Technology is very fickle and the marketplace for talent is crazy. One moment your got all the "right" skills and then *poof*, the next big thing come along and that's what most want. And the "old" technologies become saturated with qualified people.
when you actually need something done and can't hire 10 people to do it you can't hire these younger people.
I see. So you want a clone of yourself. See the beginning of this comment.
tl;dr: Parent is totally unrealistic in his demands for emploees and illustrates perfectly how screwed up the tech employment market is.
Re:Yeah, no ... (Score:4, Insightful)
Re: Writing 32 lines is not "Learning CS" (Score:5, Insightful)
Long enough to recognize that they do what we say, not what we want.
Re: Writing 32 lines is not "Learning CS" (Score:4, Insightful)
Seling to iPhone users only or selling to everyone (Score:4, Insightful)
If they are programming iOS stand alone apps, why would they need to do anything else?
Because *poof* the next big thing came along. Sometimes you can earn more money by developing both an iOS version of an application and an Android version of an application. On the other hand, if every company you plan to work for is big enough to have a separate Android specialist, there's less of a urgent need to broaden your skill set.
Re:Grammatical oversight (Score:4, Insightful)
Re: Writing 32 lines is not "Learning CS" (Score:5, Insightful)
the idea that computers can be tools that do what we tell them to do, and not just magic black boxes for mindless content consumption.
Unfortunately, this new interest comes at a time when the big players in the industry, like Apple, are well along in the process of doing away with the general purpose computer and replacing it with walled garden tablet like devices who's primary purpose is mindless consumption. In very real ways programming is becoming ever less accessible to the average person or at least less open to the sorts of spontaneous discovery and experimentation that attract new people into the field. For example, it's difficult now to have the sort of VIC-20, Commodore-64 or Apple II experience that inspired well know programmers like Linus Torvalds and many others to become interested in computing and programming at an early age.
Re:Writing 32 lines is not "Learning CS" (Score:5, Insightful)
The unintended consequence of this is the creation of as many as 12 million people who now THINK they know something about computer science. Those people may be likely to engage in policy-making or support policies created by other low-information people. It's no different than someone watching Dr. Oz suddenly declaring themselves to be experts on healthcare.
Re:Is it even possible anymore? (Score:5, Insightful)
I work on automated servers, doing various things with Windows and Powershell that Microsoft doesn't even think are possible. I could bore you with the list of components I have detailed knowledge of, but that'd make this post too long to bother reading.
I knew none of it when I started this job. In a few weeks, I'd picked up enough of the system knowledge to start leading my own projects, and within six months I was teaching my almost-boss how the components work.
Nobody else has your exact skill set, that's true, but ultimately your skill set doesn't actually matter when looking for a replacement. What matters is whether the person you bring in can do the job. That might mean they have to learn your skills quickly, or maybe they just have to learn how to copy an existing setup, or perhaps they just have to learn how to properly panic when a status light turns red.
As business changes, the required skill set will change, as well. The people who will survive are the ones who learn, not the ones who know.
Re:Yeah, no ... (Score:4, Insightful)
I don't think anyone is saying that the time was ill-spent. The objection is to the hyperbole, especially in the headline. If I said, "My children learned how to drive, you would assume that they now know how to drive. While learning how to read a speedometer and turn the key in the ignition are components of that, I would hardly say that they "learned driving".
But then, I don't work in PR.
Re:Grammatical oversight (Score:4, Insightful)
The kids haven't graduated yet - we need the H-1B's as a temporary measure (just like we did 20 years ago).
Re:Yeah, no ... (Score:4, Insightful)
You couldn't be more wrong.
Disclaimer: I helped with an Hour of Code session in a public highschool this morning. And I've been teaching "block based programming" all semester in this same highschool as part of the "Teals" program (http://www.tealsk12.org)
Go here. Do it. Then do it with kids you know.
http://learn.code.org/hoc/1 [code.org]
The Blockly stuff is _Exactly_ how I figured I would teach my own kids about programming years ago. I had planned to make something like blockly at some point, and I was thrilled when I saw that someone else had done so.
Go through the hour of code blockly sample. It is simple enough that my 6 year old got through all 20 exercizes. He needed a little help on a few of them.
But ask yourself - what is the hardest part of programming? It is typing in the code?
I contend that it isn't.
IMO, the interesting stuff is decomposing the problem, and then finding out ways to solve each step of the problem. If you want to be elegant, you figure out which sub-problems are similar to other sub-problems, and you can make your code more efficient; you can increase re-use, etc.
Making kids figure out the instructions to solve a maze is EXACTLY how I'd teach young people about CS. A maze is a problem every child understands. What they may not understand is how to write precise instructions to implement what they already know.
The language and the tooling are irrelevant. Some programming paradigms are more mind-bending than others for a given problem, but fundamentally, if you know how to break down problems, and you know the context/paradigms of a particular language or tool set, you can do whatever you need to do.
We've been teaching highschoolers using "BYOB". Sure, they aren't about where to put the asterisk on a function decl. But all of these kids have been successful at implementing a variety of simple sprite based games -- galaga, hangman, a scrolling Mario, etc.
Don't you dare say its not programming just because they're not typing the code.
I've seen some real ingenuity out of our highschoolers. The tools allow them to be productive quickly; they do a better job of holding their interest than a text editor.