Forgot your password?
typodupeerror
Programming Education Stats

Code.org Stats: 507MM LOC, 6.8MM Kids, 2K YouTube Views 123

Posted by timothy
from the infinite-kids-writing-hamlet dept.
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")?"
This discussion has been archived. No new comments can be posted.

Code.org Stats: 507MM LOC, 6.8MM Kids, 2K YouTube Views

Comments Filter:
  • well... (Score:5, Interesting)

    by smash (1351) on Sunday December 15, 2013 @10:30AM (#45694703) Homepage Journal
    500 million (or whatever) lines of code worth of "hello world" is not exactly the same as a working, profitable commercial OS family, is it?
    • by kthreadd (1558445)

      Probably less bugs though.

      • by Anonymous Coward

        Probably less bugs though.

        Fewer. Don't make fun of Microsoft until your grammar improves.

        • Re: (Score:2, Interesting)

          by Anonymous Coward

          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)

          by Half-pint HAL (718102) on Monday December 16, 2013 @09:41AM (#45702837)

          Fewer. Don't make fun of Microsoft until your grammar improves.

          Knowst thou not that verily doth language change?

    • I'll take the hello world, thx.

    • 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...

    • True but you are not fully realizing the potential new market of child labor programming camps. We will have to call it a school or something. Then we will have to make continuing educational "unpaid internships" for the ones who show expertise. Meanwhile this will also help to devalue the programmers as a resource and thus further increasing profitability.
      • by smash (1351)
        Not really. Learning to code hello world by rote doesn't make you suddenly capable of writing an SMP aware scheduler, for example.
    • What exactly is the 10x commentary about? Makes it sound like Windows is relatively efficiently coded.
  • by boldtbanan (905468) on Sunday December 15, 2013 @10:36AM (#45694739)
    I ran through some of the lessons to see what it was about and I'm a developer. I expect that is a pretty common occurrence for this type of site.
    • by Anonymous Coward

      Did you learn how to code?

      • by Anonymous Coward

        i learned alot from the lessons, however i am a php developer so this was to be expected.

  • by NeverWorker1 (1686452) on Sunday December 15, 2013 @10:41AM (#45694775)
    Again, this isn't a bad thing, but getting somebody to bash out 30-odd lines doesn't make them a programmer, or even given them a taste a programming. That's enough for maybe some basic flow control.
    • by Anonymous Coward

      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

      • Before I came on board at my company, they outsourced a small project to a freelancer who had taken a short intro to Rails course. Before I saw his code (it was running on heroku, and we didn't have access yet), I called him up just to talk to him about how he did it. It was clear that he didn't understand some very basic questions I was asking him to the point of giving me answers that were just plain wrong. Also, this was a light-weight web scraper, so Rails is about as wrong an approach as you can get
      • by formfeed (703859)

        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)

    by Anonymous Coward on Sunday December 15, 2013 @10:44AM (#45694795)

    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)

      by gauauu (649169) on Sunday December 15, 2013 @10:56AM (#45694873)

      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)

        by RR (64484) on Sunday December 15, 2013 @11:46AM (#45695261)

        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.

        • by wagnerrp (1305589) on Sunday December 15, 2013 @01:29PM (#45696063)
          What bad habits? Logic of whatever type you want to implement is inherently sequential. Unless you want to delve into the complexity of branch prediction and predictive computation, it is the basis of all programming. The secret to parallel programming is nothing more than finding independent sequences of logic within the program, and arranging them such that they can be run concurrently.
          • Dijkstra has talked about this a lot, and you can read his solution in his textbook, A Method of Programming, but essentially his complaint was that the traditional way of programming causes programmers to make too many bugs. That it's difficult (nay, impossible) to write large programs in that way without leaving lots of bugs. And admit it, you spend a lot of the time in your own programming fixing bugs.
            • by wagnerrp (1305589)
              Professionally, nearly all the bugs I see are simple typos (which you get regardless of your paradigm), logic faults dealing with real-world mechanics (more physics than programming), or buffer overruns (insufficient bounds checking, combined with a multi-process, shared memory framework). Everything else typically gets caught during a compile.
              • I haven't seen a buffer overrun in years
                • by wagnerrp (1305589)
                  In most cases, one would segfault due to a memory access violation rather than escaping the bounds of their array. When you're pre-allocating a big chunk of contiguous memory, and letting 20-30 independent processes simultaneously use it, those protections are no longer in place.
                  • 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?

                    • by wagnerrp (1305589)
                      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. If you're pre-allocating one giant contiguous memory space to use for all your data, this protection no longer exists.
                    • 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

          • by RR (64484)

            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

            • by RR (64484)

              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]

              • by wagnerrp (1305589)

                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

        • by mwvdlee (775178)

          If we banned everything Dijkstra complained about, we wouldn't have any programming language left to use.

        • 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

          • by RR (64484)

            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

        • I won't say that he isn't a very brilliant computer scientist, but Dijkstra considers many (probably most) things harmful and very little of his rants are of relevance or worth.
        • by abies (607076)

          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

    • How many of the kids, being fledgling programmers, do you think would realize that 500M is not 10 times more than 50M? Worded that way it's a classic off-by-one error.
  • by PeeAitchPee (712652) on Sunday December 15, 2013 @10:50AM (#45694831)

    "Students of the Code.org tutorials have written 507,152,775 lines of code.

    So *that's* how they fixed the ACA website. ;-)

  • With a perl one-liner.

  • Students of the Code.org tutorials have written 507,152,775 lines of code.

    "...which will now be used as the coding base for Windows 9."
  • by koan (80826)

    "So, with millions being spent on efforts to get Code.org into the nation's schools"
    That's why the numbers don't match.

  • It's to convince people to remove it.

  • 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 ;)

  • YouTube is blocked (Score:5, Interesting)

    by bokmann (323771) on Sunday December 15, 2013 @11:24AM (#45695045) Homepage

    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.

    • that kinda makes me sick to my stomach, just remembering how oppressive I felt my school was.

    • how about trying the University of Colorado Hour of Code activity instead to allowing them to create any program and not just a fill in the blank coding exercise? http://hourofcode.com/ac [hourofcode.com]
      • by bokmann (323771)

        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.

  • SLOC is not a good measurement of productivity. I'd like to thank this submission for illustrating why. How many of the things written during this consisted of code not totally unlike things I wrote in my exploratory youth?

    10 PRINT "FUCK YOU, I DO WHAT I WANT"
    20 PRINT "SADDAM WAS HERE"
    30 GOTO 10
  • by SirAudioMan (2836381) on Sunday December 15, 2013 @11:43AM (#45695227)
    I am 32 and have been coding for 20 years, mostly as a hobby but a short stint working in an IT apps department, and some coding for other work related things. It was 20 years ago when I was around 12 years old I got the itch to want to code. My father (who is a P. Eng) bought a computer in the mid 80's (it was a Compaq Deskpro 8086) when almost nobody had one. I started using it from a very early age, mostly for games, etc.

    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!

  • by theodp (442580) on Sunday December 15, 2013 @12:17PM (#45695453)

    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."

  • by rossdee (243626) on Sunday December 15, 2013 @12:36PM (#45695583)

    507mm is about 20 inches

    • True, but those were very small kids.
    • by GuB-42 (2483988)

      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.

      • by RockDoctor (15477)
        The "MM" thing is a piece of moronicity that I only see from Americans, and even there almost solely confined to the oilfield. It's their way of writing "a thousand thousands", meaning a million.

        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

  • 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

  • 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.

    • by Georules (655379)
      Many still use 2, it seems to me. Either way, you're not going to waste much time learning any language at a beginner level. For the amount of material covered in a beginner course, moving to another language or version will just be a few changes (and something you'll need to get used to with programming anyway)
  • These tutorials generate "code" for you to see like this:

    moveForward(); moveForward(); turnLeft();

    There is no context for the code, or how you would actually use it outside of the GUI editor.

  • by wiredlogic (135348)

    507MM LOC

    How many MibiLOCs is that?

  • by enter to exit (1049190) on Sunday December 15, 2013 @07:10PM (#45698917)
    Society is probably better off teaching kids first order logic. http://en.wikipedia.org/wiki/First-order_logic [wikipedia.org]

    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.
    • Damn straight. Teaching math, programming, or argumentative writing (among other subjects) without logic is like teaching a language without grammar.

"And do you think (fop that I am) that I could be the Scarlet Pumpernickel?" -- Looney Tunes, The Scarlet Pumpernickel (1950, Chuck Jones)

Working...