Code.org Stats: 507MM LOC, 6.8MM Kids, 2K YouTube Views 123
theodp writes "On the final day of Computer Science Education Week, the Hour of Code bravado continues. Around 12:30 a.m. Sunday (ET), Code.org was boasting that in just 6 days, students of its tutorials have "written" more than 10x the number of lines of code in Microsoft Windows. "Students of the Code.org tutorials have written 507,152,775 lines of code. Is this a lot? By comparison, the Microsoft Windows operating system has roughly 50 million lines of code." Code.org adds, "In total, 15,481,846 students have participated in the Hour of Code. Of this group, 6,872,757 of them used the tutorials by Code.org, and within the Code.org tutorial, they've written 507,152,775 lines of code." On YouTube, however, a playlist of the Code.org tutorial videos has distinctly lower numbers, with only 2,246 views of the Code.org Wrap Up video reported as of this writing. So, any thoughts on why the big disconnect, and how close the stats might reflect reality? Code.org does explain that an 'Hour of Code' is not necessarily an 'hour of code' ("Not everybody finishes an Hour of Code tutorial. Some students spend one hour. Some spend 10 minutes. Some spend days. Instead of counting how many students 'finish one hour'; or how much time they spent, this [LOC] is our simplest measure of progress"). So, with millions being spent on efforts to get Code.org into the nation's schools — New York and Chicago have already committed their 1.5 million K-12 students — is it important to get a better understanding of what the Hour of Code usage stats actually represent — and what their limitations might be — and not just accept as gospel reports like AllThingsD's 15 Million Students Learned to Program This Week, Thanks to Hour of Code ("every other school family in the U.S. has a child that has done the Hour of Code")?"
well... (Score:5, Interesting)
Re: (Score:2)
Working.
For THEM.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Probably less bugs though.
Re: (Score:1)
Probably less bugs though.
Fewer. Don't make fun of Microsoft until your grammar improves.
Re: (Score:2, Interesting)
Fewer.
'Less' is correct, unless you are able to count all the bugs in Windows.
There are fewer legs on an ant than a spider. There is less sand in the desert than bugs in Windows.
Re:well... (Score:4, Funny)
Fewer. Don't make fun of Microsoft until your grammar improves.
Knowst thou not that verily doth language change?
Re:15 million students who now hate programming. (Score:5, Insightful)
Is programming an actually useful skill for many people? Maybe. Most are not going to write code professionally.
Even if they don't, it helps to have an understanding of what a computer program is, and the kinds of problems it might solve. Programming isn't the main function of most people's jobs, but a lot of people work using a computer and would benefit from being more aware of what it can do.
For example, a colleague was manually reorganising a large set of JPG files based on their filenames. A few "mv" commands could have done 99% of the task in under a minute, but she didn't realise it was possible.
Someone else needed to do some repetitive change on thousands of rows in an Excel spreadsheet. They spent the whole morning doing it, and then grumbled about it at lunchtime, and how it would probably take another whole day. It took me less than five minutes, and she's since written some macros herself, saving time and processing data in ways she didn't find practical before.
Re:15 million students who now hate programming. (Score:5, Insightful)
The one thing that I have found IT depts. around the world to be consistently good at, is saying "no", "we can't", or "you shouldn't".
Re: (Score:2)
These were people who were only expected to have "Basic MS Office skills" or whatever.
Re: (Score:1)
Being forced to study a subject like this very rarely piques any true interest in it.
And how is that different from any other subject?
Of those students, the ones who were actually new to programming most likely dislike it much more now.
Why?
Those who were already somewhat familiar with it, or who were interested enough to investigate it on their own, are no better off.
No, not necessarily, in fact thats unlikely.
While it may be desirable to have "well-rounded" students, forcing them all to learn a small, useless-in-practice amount of knowledge in a large number of areas is a recipe for failure.
No it is a matter of giving them an introduction to something such that if they are interested in it they will pursue it. You may believe that everybody has had the chance to involve themselves in every topic and to have then pursued that if they had an interest and so require no introduction to it but that is not reality.
Re: (Score:2)
I'll take the hello world, thx.
Re: (Score:2)
Of course not - a well-engineered product could never be profitable. They were being taught how to code, not how to be a lawyer, MBA, marketer...
Re: (Score:1)
Re: (Score:1)
Re: well... (Score:2)
How many of those were actually students? (Score:5, Interesting)
Re: (Score:1)
Did you learn how to code?
Re: (Score:1)
i learned alot from the lessons, however i am a php developer so this was to be expected.
So 33 lines per person? (Score:3)
It's enough for many Rubyists. (Score:3, Interesting)
I was a hiring manager back in 1998-2000, and on occasion I still have to interview people today for programming positions.
You wouldn't believe how little experience some people will consider "sufficient" these days. It's worse for some positions, mainly those involving Ruby, and also those involving JavaScript.
I routinely get applicants who list themselves as having experience with both, yet in phone interviews or in person we quickly find out that they literally had written less than 100 lines of code in
Re: (Score:2)
Re: (Score:2)
Paula Bean?
http://thedailywtf.com/Articles/The_Brillant_Paula_Bean.aspx [thedailywtf.com]
Re: (Score:1)
But there's no excuse today. These types of initiatives may even make the situation worse, by making highly-unqualified individuals mistakenly think they are far more adept than they actually are, to the point of wasting the time and effort of those of us in industry,.....
Sadly. The reverse is also true.
If you honestly describe your skills and interests, you're out.
If it looks like an interesting job, it better isn't just an interesting job. Know enough Spanish to make yourself understood? Better call it fluent. And if you dabbled in some scripting language, don't forget to add it to the list.
Often, looking at a job description and the skill set "required", any honest applicant meeting all those requirements would not be applying for that position.
Worth it. (Score:5, Informative)
At least 50% of the kids who came to my HoC event didn't want to be there and were forced to come by a parent/sibling/teacher/other. 100% of them engaged for an entire HoC activity and most stayed beyond an hour. That's success in my book.
I don't actually give a damn if it's considered hype/bullshit/grandstanding...it's input into the kids' perspectives and experiences. Nothing bad will come from it and we may just get something good out of it
Re:Worth it. (Score:4, Insightful)
Thanks for this reasonable response (if I had mod points, I'd mod you up instead of replying).
It's true that there's a lot of ridiculous hype and grandstanding about this, but either way, people are getting a chance to be introduced to programming in an interesting way, and possibly learning from it.
No, those millions of lines of poorly-written "hello world" code aren't going to serve a useful purpose. But that's not the point. The point is that a lot of people engaged, at least to some extent, in learning programming.
Now it's time for the angry hordes to come tell us why we're wrong and why this is horrible.
Re:Worth it. (Score:4, Interesting)
It's true that there's a lot of ridiculous hype and grandstanding about this, but either way, people are getting a chance to be introduced to programming in an interesting way, and possibly learning from it.
Now it's time for the angry hordes to come tell us why we're wrong and why this is horrible.
As you wish.
The Hour of Code was teaching the outdated, sequential type of programming that Dijkstra was complaining about [utexas.edu] back in 1975. It was already problematic back when most computers had a single processor, but it's completely inadequate in an increasingly parallel world. Any student who wishes to make sense of a concurrent program, or a monadic program, will have to unlearn bad habits and start again.
Re:Worth it. (Score:4)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
In most cases, one would segfault due to a memory access violation rather than escaping the bounds of their array.
? Are you using Java that does array bounds checking or something?
Re: (Score:2)
Re: (Score:2)
No. If you are using individual memory allocations in C/C++, and overrun your array bounds, the MMU will kick back an access violation and the application will segfault.
You're wrong here bro lol, either you haven't seen an array overflow in years, or you're using some kind of weird OS/libc. Generally the internal implementation of malloc() requests a much bigger piece of memory from the OS and partitions it out as needed, so if you only go a few bytes over or under you won't get a crash. That's what things like efence are for. You could even write your own version of efence, it's not hard. And in any case, it's unlikely that your array size will be exactly as large as a pa
Re: (Score:2)
Strangely in my professional experience the source code that I have developed over the years has not been riddled with bugs by the time it reaches the production environment.
Let me guess, you're a web programmer?
Re: (Score:2)
What bad habits? Logic of whatever type you want to implement is inherently sequential.
No, it is not. Logic is inherently reflexive and transitive. It's a major failing in math education, that people think it is about performing algorithms in sequence. Most people never learn the relations that allow you to rearrange the equations and create new algorithms.
In programming, the idea of sequential programming has problems. CPython guarantees that only one bytecode is executing at one time, and therefore they find it extremely difficult to remove the Global Interpreter Lock. [python.org] C guarantees sequence
Re: (Score:2)
I think it was Crockford [crockford.com] who said that the programmers who understand multi-threading should be captured and compelled to do systems programming, but I'm not sure.
Ah, I remembered right.
Races and deadlocks are just really difficult to reason about. There are very few people in the world who can reason about them effectively. My belief, and I mean this sincerely, is that they should all be enslaved and made to work on operating systems. And that nobody else should have to go near this stuff, because it's just way too complicated.
Crockford on JavaScript - Scene 6: Loopage [youtube.com]
Re: (Score:2)
Races and deadlocks are just really difficult to reason about. There are very few people in the world who can reason about them effectively.
We get around that stuff by simply not having them. With no mutexes, you have no deadlocks, and the code is designed such that we don't care about race conditions. It's actually multi-process, rather than multi-threaded, due to a legacy holdover from older versions of QNX that didn't have a threading model. If one process gets to a data point before another process that edits it, we don't care, we'll just pick up the change in the next pass. If that data point changes twice before we get back to it, we
Re: (Score:2)
If we banned everything Dijkstra complained about, we wouldn't have any programming language left to use.
Re: (Score:2)
The Hour of Code was teaching the outdated, sequential type of programming
Sequential code may be inadequate for advanced programming, but it certainly isn't "outdated". As a professional programmer, 90% of my code is purely sequential. Even parallel code has sequential blocks, and parallel programming skills can only be built on a solid foundation of basic understanding of sequential processing. Arithmetic skills are not enough to do calculus, but that doesn't mean arithmetic is "outdated".
I teach Scratch [mit.edu] to 3rd-6th graders in an after school program. It is an event driven la
Re: (Score:2)
The Hour of Code was teaching the outdated, sequential type of programming
Sequential code may be inadequate for advanced programming, but it certainly isn't "outdated". As a professional programmer, 90% of my code is purely sequential. Even parallel code has sequential blocks, and parallel programming skills can only be built on a solid foundation of basic understanding of sequential processing. Arithmetic skills are not enough to do calculus, but that doesn't mean arithmetic is "outdated".
But arithmetic is outdated. Computers are just way better at arithmetic, [ted.com] and very few people do arithmetic manually in their jobs. Kids get entirely the wrong idea about math, spending all that time on brittle algorithms, and you get the wrong idea about sequential programming due to the abundance of undefined behaviors. The trouble is that we don't have a consistent way to teach something better.
Just like I had to partially unlearn the least-significant-digit-first arithmetic to learn everyday, useful arit
Re: (Score:2)
Re: (Score:2)
It is like with playing a guitar. You can show somebody two or three chords, ask him to hit the strings and sing along - and in half an hour, you have some kind of achievement. Yes, he will have to unlearn this half an hour if he is supposed to become next Paco de Lucia. Or you can do it other way around and start with exercising fingers for finger-style play and then, maybe, in 100 hours, you will have they guys playing something remotely enjoyable. Which way do you think is better to capture the interest
Re: (Score:1)
Ahh, I get it (Score:5, Funny)
"Students of the Code.org tutorials have written 507,152,775 lines of code.
So *that's* how they fixed the ACA website. ;-)
I can beat that (Score:2)
With a perl one-liner.
Re: (Score:2)
del
Crowdsourcing (Score:1)
"...which will now be used as the coding base for Windows 9."
Ummm (Score:1)
"So, with millions being spent on efforts to get Code.org into the nation's schools"
That's why the numbers don't match.
Re: (Score:2)
Code is actually a great tool to train those engineering fundamentals.
Code is pretty harsh when you make mistakes and usually the only one to blame for it not working is the programmer.
The trick is not to add code (Score:2)
It's to convince people to remove it.
Coding is freedom (Score:2)
However not everybody needs to be a coder.
Also the essence of worth expressed instead of LOC can better be expressed by the following equation:
Worth = LOC / TAB * TAC * RCEF * PI() * e() * cos(90)
LOC: Lines of code
TAB: Tasks achivable
TAC: Tasks achieved
RCEF: Relative Computing Effieciency Factor
pppppps. ;)
Irony as in steel
Re: (Score:2)
Re: (Score:2)
1.) Try entering =PI in Excel, and see what you get
2.) I spilled coke over my keyboard and the p hang.
LibreOffice (Score:2)
YouTube is blocked (Score:5, Interesting)
I personally ran this last week with almost 200 3rd, 4th, and 5th graders, and will be doing it Monday and Tuesday to make up for snow days last week.
First, because their lab time is an hour and we also did a warm up and closing lecture, most kids didn't get to all 20 exercises in the first blockly set - we had perhaps 15 kids get all the way through it. Second, Most of the kids weren't patient enough to watch *any* of the videos, clicking through them to get to the next exercise. The dude from NASA in that last video talks for a while about the problem they just solved - it took about 7 seconds for the kids to get bored hearing about what they just solved, and they wanted to jump to the part where they could get their certificate at the end.
In my kids' school I had to prearrange to unblock access to all of this stuff as well. I'm sure there are plenty of schools that unblocked code.org, but not YouTube... so they could do the exercises but not watch videos.
Re: (Score:1)
that kinda makes me sick to my stomach, just remembering how oppressive I felt my school was.
Re: (Score:2)
Re: (Score:2)
How about you volunteer a week of your time at a school and do what you want to do instead of telling me what to do and denigrating the tool I chose to do it?
I'm a professional software engineer and learned to code as a 10-year old in 1979. I think those 'fill in the blank' exercises you mention strip away all the syntactic sugar and illustrates the pure logic of coding. I also show the kids several real ruby programs so they understand the difference between blockly and real programming text.
Re: (Score:2)
I didn't take it as just an alternative suggestion, I took the comment "not just a fill in the blank coding exercise" as a denigration of the effort many people were putting into this. Its easy to make suggestions from the sidelines.
Quality, not quantity (Score:2)
10 PRINT "FUCK YOU, I DO WHAT I WANT"
20 PRINT "SADDAM WAS HERE"
30 GOTO 10
Re: (Score:2)
It's about inspiring students... (Score:4, Interesting)
I started to notice my father would spend many hours working on something so I started asking him what he was doing. Being the type to turn everything into a teaching moment, he would explain that he was programming in Pascal. I thought it was cool that he could create programs, but didn't think much about it until a few years later when he bought a new PC. I saw him coding in QuickBasic 4.5 where he could program with graphics and compile to an EXE. I started asking more and more questions until he started to let me try it out. Soon I was hooked and learned all the basics and advanced stuff of QB, eventually moved on the Visual Basic, some assembly, and eventually into more modern stuff. Now I code in C#, C, C++, Javascript, PHP, and others and love it.
The point being, all those years ago my father inspired me and got me interested in coding at such a pivotal age. I have taken those skills and interests and applied them to many areas of my life even though I do not code for a career. The whole idea of Code.Org is to inspire and get kids interested in it. It fosters higher levels of thinking, feeling of accomplishments, and give them a purpose in life instead of just consuming things like games and mindless entertainment.
I think it's just great what they are doing, and having Gates and Zuckerburg as spokesman is also great!
2013 Code.org Like Dumbed-Down 1973 PLATO? (Score:4, Interesting)
Probably worth mentioning that Code.org's online programming tutorial for kids, created in 2013 with collaboration with engineers from Microsoft, Google, Twitter and Facebook, is kind of like a dumbed-down, albeit slicker, version of online instruction given to children in 1973 [staticflickr.com] on the University of Illinois' PLATO computer-assisted instruction system.
Programming by Children (1973) [uni-stuttgart.de]: "Young children can be taught the basic elements of programming...In Figure 7a the child has walked the man, one step at a time, through a maze."
Overview of Code.org's Hour of Code activity (2013) [code.org]: "Our activity is a set of 20 self-guided puzzles that teach the basics of computer science for users with no prior experience. In each puzzle, students write a program that gets a character through a maze."
507MM (Score:3)
507mm is about 20 inches
Re: (Score:2)
Re: (Score:2)
Using the SI :
507 MM = 507*1e6*1e6 = 507 trillions = 507 T
6.8 MM = 6.8*1e6*1e6 = 6.8 trillions = 6.8 T
2 K = 2 Kelvin = -271.15 C = -407.07 F
That's a lot of code, but it took about 1000 times the world population to write it. Also, YouTube views are very cold.
Re: (Score:2)
What the fuck it's doing in a context where the overwhelming majority of the audience are going to be comfortable with the SI multiplier prefixes (and their 2^[10*n] computing relatives), I don't know.
My first thought : 507 MM / 6.8 MM = 74.5 lines of code per pupil. That is, depending on which language they're us
Hello World Lessons isnt for everyone (Score:1)
It didnt work for me. If anything, turned me away from programming in my early life.
I'am the sort of person that needs a task, something enjoyable and a end result that makes it worth the time invested.
I remember when i was 12, i created a lottery number generator in Qbasic for my parents. I learnt everything on my own, in my own time, and enjoyed every moment of it.
When i was 26, i had a dream to create a game. I always wanted to make my own game, but, i lacked the knowledge to do so.
I found a program call
Not quite related but... (Score:2)
Is there some reason why Khan Academy never updated their Python video tutorial to use Python 3? I've always avoided it because I'd prefer not to go through a tutorial that may require me to unlearn things at the end.
Re: (Score:2)
Lines of code of what? (Score:1)
There is no context for the code, or how you would actually use it outside of the GUI editor.
Re: (Score:2)
Re: (Score:2)
MM (Score:2)
507MM LOC
How many MibiLOCs is that?
Just Teach Logic (Score:3)
Not only will it help them sharpen their analytically skills (Making it easier for them to do, well, anything) it will also sharpen their BS-metre making them better citizens.
Schools should just teach math better, an intermediate high-school senior level maths course is much more challenging than most programming tasks. HS maths should incorporate a programming module in their algebra lessons, exposing teens to the basic control flows found in any language (and how to manipulate numbers and expressions with them) will make it easier for a student to learn a certain type of programming _if_ they need to.
I'm not impressed with these online programming classes, everything is placed in wrappers and the student just plugs things in.
Re: (Score:2)
Damn straight. Teaching math, programming, or argumentative writing (among other subjects) without logic is like teaching a language without grammar.