Slashdot stories can be listened to in audio form via an RSS feed, as read by our own robotic overlord.

 



Forgot your password?
typodupeerror
Education Programming Ruby

Zuckerberg Shows Kindergartners Ruby Instead of JavaScript 144

Posted by timothy
from the presto-changeout dept.
theodp writes "If one was introducing coding to 10 million K-12 kids over 5 days, one might settle on a programming language for examples more than a few weeks before D-Day. But the final tutorials for the Hour of Code aren't due now until the day they're to be taught, so Code.org was able to switch the example Facebook CEO Mark Zuckerberg uses to illustrate Repeat Loops from JavaScript to what looks like Ruby (earlier /. discussion of the JavaScript example), which will no doubt make things clearer for the kindergarten set working on the accompanying Angry Birds tutorial. Khan Academy, on the other hand, is sticking with JavaScript for its Hour of Code tutorial aimed at middle-schoolers, which culminates in a project showing the kids how they can draw a circular plate by invoking an ellipse function with equal major and minor axes. By the way, as Bret Victor might point out, the 2013 Khan Academy lesson looks a lot like circa-1973 PLATO!"
This discussion has been archived. No new comments can be posted.

Zuckerberg Shows Kindergartners Ruby Instead of JavaScript

Comments Filter:
  • What? (Score:5, Insightful)

    by Anonymous Coward on Sunday December 01, 2013 @08:42AM (#45567405)

    If one was writing a summary, one might settle on a summary that explained the point it was trying to make rather than providing a set of disconnected statements...

  • I mean, they are kindergarten kids. Like they are going to recognize that the syntax was different? Or is this some kind of knock on Zuckerberg?
    • So what's the fucking point? Where's the science that says year old kids have the essential wiring and have mastered the prerequisite skills to understand computer programming?

      Christ! you're trying to teach the little bastards to read and now they're supposed to write code before they can write coherent sentences and spell?

      • There are over 50 million school-aged kids in the US and hour of code is only trying to reach 10 million of them. K-12 is just shorthand for grade school. It doesn't mean that they're trying to teach kids in kindergarten how to code before they learn to read. They're putting it out there and it's up to teachers to decide whether it's appropriate for their classes.

        Aside from that, if you'd looked at the Angry Birds example given, you'd have also seen that you don't actually write anything in Javascript, R

      • by narcc (412956)

        There's tons of research. No, they can't write code. (See Jean Piaget)

        They can do some code-writing like things. Papert, who had worked with Piaget, worked with Feurzeig's team to developed the logo programming language. There was some research done in the late 1970's- early 1980's with young students (and a bit more done with young deaf students).

        The point is that we've got a perfectly good, well researched, language for teaching computer programming concepts to very young children. Why piss around wit

        • Except when you are drawing a square and tell the little turtle to turn left instead of right because your mind hadn't yet grasped translations. I hated that little turtle sometimes.
      • We did programming in primary school, but it was more of the LOGO Turtle variety. I didn't start writing while loops until college.
  • At Long Last... (Score:5, Insightful)

    by Anonymous Coward on Sunday December 01, 2013 @08:49AM (#45567437)

    Ruby finds it's niche. IIRC Twitter switched anything that mattered from ruby to scalar / JVM the very moment their platform became more than a toy.

    He'd probably be better off showing them javascript, no need to install 3rd party software. Kids already have access to all runtime libraries and development tools with a web browser and a text editor. Really makes no sense to show them ruby.

    • by Anonymous Coward

      This isn't 2007 anymore.
      Ruby 2.0 is a little bit faster than PHP and close to Python. Also Ruby if coded correctly, does scale very well.

      • Given that PHP and Python are both horribly slow, how does that show Ruby is now scalable for big apps?

        • by cmdr_tofu (826352)

          Ruby is a beautiful language, much easier to learn (syntactically) than javascript. I don't know that Ruby is a better choice than Javascript, Python, BASIC, LOGO, or (Something else), but it does have some advantages for a young mind.

          1. 1. it's pure OO
          2. 2. control structures are intuitive. I prefer "for (;;) {" style, but "1.upto 100 do |counter|" style is more intuitive.
          3. 3. Cartoon characters can teach you Ruby lessons in a collaborative environment. This is mostly due to the work of one WhyTheLuckyStiff, bu
          • Re:At Long Last... (Score:4, Interesting)

            by AuMatar (183847) on Sunday December 01, 2013 @12:24PM (#45568525)

            Number 1 is actually a negative. The right paradigm to use for kids is procedural. First off because it matches how they're likely to think- plenty of stuff is broken down into steps 1,2,3 etc just like procedural, but nothing is broken down by objects outside of programming. Secondly, they have to learn procedural and structured code anyway to write functions- why confuse them with extra stuff? Teach them without objects first, then teach them objects- as an added bonus they're more likely to understand *why* they're useful.

            Three is an app. It can be written for any language. Its not a good reason to pick one language over another.

            There's great communities for every language. There's also horrible ones for every language. You just need to know where to look, which a teacher should. Not an advantage.

            You have exactly 1 point that stands up.

            • by cmdr_tofu (826352)

              You can write procedural code in Ruby, but I think even a beginner benefits from *using* objects. Beginners might not create their own classes. TFS gives the example of Mark showing kids

              facebook_user.each do |user|

              which is clean code. So my one point that you agree with (syntax is easier), does piggyback a bit off the OO. I agree that 3 can be done for any language, but using what's available has obvious advantages to rolling something new.

              Again I'm not sure I know the one-true-language for kids to lear

              • The code snippet you showed may be "clean", but I have NO IDEA what it does, and I program daily in 5+ different languages. That tells me that Ruby is a poor choice, since the syntax doesn't resemble common languages like C, python, perl, fortran or bash.
                • I don't blame you, Ruby syntax can be rather arcane.
                  facebook_user.each do |user| ... end

                  Can be translated as:
                  facebook_user.map(function(user){ ... })

                  Basically "each" is an array method and "do |var| ... end" is a "block"/closure/anonymous function. "|var|" can be omitted if there are no arguments, I don't know the syntax for multipel arguments. I do know that "do ... end" can be written as "{|var| ... }". I really don't know which version is considered syntactic sugar of the other. BTW Ruby blocks aren't *r

                  • As opposed to Python's [ welcome(dude) for dude in users ] ?? Because that actually makes sense.

                    • Firstly, the original Ruby example isn't a a real map but a side effects iteration so the construct you are looking for is
                      for dude in users:
                      welcome(dude)

                      And yes, it makes more sense than
                      users.each do |dude|
                      welcome(dude)
                      end

                      So much so that even Ruby has a better way to do it with
                      for dude in users
                      welcome(dude)
                      end

                      which is the one Zuckerberg should have used.

              • by AuMatar (183847)

                That syntax doesn't piggyback on OO at all. Basic had the same syntax- FOR i FROM 1 TO N. There's no benefit for a beginner using objects when first learning- it adds more to the learning curve that can easily be added later. The first rule of teaching is KISS.

                As for your snippet being clean- umm I have a 13 years of professional experience, over 20 years if you include hobbyist. I have no clue what that does. My guess is some kind of foreach loop, but the part to the right of the do is completely o

            • Alan Kay seemed to think that kids found the idea of playing with objects more intuitive than playing with loose code.

              I'm not so sure I disagree with him, having seen what can come of loose code.

            • by Eythian (552130)

              CItation needed.

              Squeak Smalltalk was done by Disney and Apple, is pure-OO, and is very, very easy to teach.

            • I like to point out that *all* code is procedural in that all instructions effectively happen after and because of a previous instruction. Objects are just a different way to organize those instructions, but easier to teach after the fact. Its easier to teach this:

              price = 10.00
              taxes = calculate_tax(price)

              And then explain how a "taxed_item" object is cool later.

          • I do not find Ruby's structuring more intuitive. When teaching my daughter how computers work, using Python was immediately readable without having to teach her funny symbols.

            Write out the Ruby version of this sometime:

            friends = ['Mark', 'Andrew', 'David']
            for friend in friends:
                      print "Hi, " + friend

            Expanding this to calculate ages based on birthdays, etc. was a breeze and very easy to understand. Ruby just has a bigger curve I found.

        • Given that PHP and Python are both horribly slow, how does that show Ruby is now scalable for big apps?

          Look again.... features and functions that are slow and get in the way of big applications can be coded in C or C++.
          Parallel is just understanding what can be done on different nodes without interfering with each other.

          Ruby is a darn fine modern language. Slightly better than Python.

          JavaScript has legs because it is the incumbent not because it is better.
          Dart may improve the fate of JavaScript. I just noticed some Node.js recast
          as Dart and found it easy to read....

          I am a big fan of these interpreted pr

    • Wat? (Score:4, Interesting)

      by Greyfox (87712) on Sunday December 01, 2013 @11:42AM (#45568277) Homepage Journal
      Wat? [destroyallsoftware.com]

      Ok, so technically learning to program doesn't have the same set of requirements as production programming. Back in the day you were likely to get BASIC and then moved on to Pascal, C, Fortran or (god help you) COBOL. Once you realize that all languages have essentially the same structures, you start to say things like "languages are just syntax. Learn to program in one language and you can pick up any other language very easily." This is not actually completely true, but I'll get to that in a moment. They also didn't tell you much about the environment beyond giving you the "vi cheat sheet" and instructions on how to invoke the compiler. Near as I can tell they don't do a much better job of it today.

      Rolling objects into the mix really doesn't change that much. You still need to know structural programming because you're going to need to write your methods and you don't want to write them as spaghetti. You have a whole other set of concepts to master for OOP. You can show people objects, but until they're ready for them, they're not going to understand them. I don't know how many people remember learning to program, but when you're looking at it for the first time, even basic language structure like function parameters (and functions) and variable initialization are confusing.

      So yeah, Ruby and Javascript might make OK learning languages, inconsistencies and all. Of all the ones I looked at when I was a wee programmer (And I looked at them ALL,) Logo and Pascal seemed like the most sensible. We did Pascal in my high school (in the '80's) in a programming environment on Apple II machines. They environment was mildly quirky, but didn't take long to pick up. That let us concentrate on the language. Logo offered the most immediate feedback about how your changes affected the behavior of the program. At least for me, immediate feedback was very helpful to the learning process. You can definitely get that with the interpreted languages. The same things that make them reasonable languages to learn programming also make them not-so-great for production projects, at least not without a lot of unit testing that no one ever bothers to write.

      Of course, the more you work with different computer languages, the more you start to realize that the statement that "all languages are the same" is not really true. You discover things like the ones mentioned in the presentation I linked to at the beginning of this post, and find yourself having to work around deficiencies in the language. At a basic level all languages are the same and once you learn the control structures you can write simple code in any language very quickly. To actually learn the quirks of a specific language and truly master it, that could take years. I'd go so far as to say that most programmers will go their entire career never having truly mastered a single language. What they give you in school are the tools to achieve that mastery, and I don't feel that anyone even does a good job of doing that.

  • Sigh (Score:5, Insightful)

    by ledow (319597) on Sunday December 01, 2013 @08:50AM (#45567443) Homepage

    Is it just me that thinks that, when aiming at kids, BASIC still probably is the easiest language to understand (if not the most rigorous)?

    The first example is just HORRENDOUS anyway - boilerplater and ternary crap getting in the way. The second is simplified using specific language facilities and objects.

    So what would have been wrong with a BASIC-like:

    FOR EACH USER IN USERS
            SENDMESSAGE(USER, "Happy Birthday")
    NEXT USER

    As I get older, I believe more and more than the creators of BASIC knew what they were doing, and make something kids and beginners could understand quickly even if it wasn't perfect.

    • Re: (Score:3, Insightful)

      by BenfromMO (3109565)

      As I get older, I believe more and more than the creators of BASIC knew what they were doing, and make something kids and beginners could understand quickly even if it wasn't perfect.

      Well said, and I agree. The hint for me is in the name of the language. For children, you want something that gives near instant gratification and which they can understand as they go. Even the horrendous goto statements allow children to see clearly where things go...and so with children its probably is the best bet. You

      • by gigaherz (2653757)
        Maybe they don't want to teach kids how to program, they want to raise a generation of dumb web developers instead.
      • A better place would probably be to start them with algorithms in simple English. It would make it easier for the kids in the long run.. hell, even to this day, I lay out algorithms in my code before I actually start coding:

        """ Do stuff here """
    • by Nerdfest (867930)

      The problem is that people keep writing things in these languages and they end up being extremely difficult to maintain because of deficiencies in the language. Yes, you can write bad code in any language, but a few of them encourage it. I grew up on BASIC, and it's one of those languages. You can write some of the best spaghetti in BASIC. Visual Basic was another.

      JavaScript is better but has *way* too many inconsistencies and gotchas. I think Ruby is a good choice, although I think a strictly typed languag

      • yay for BASIC. Remember the times when you had to completely retype the code because you needed to add something inbetween the line numbers and hadn't figured out to number them by 10's? And, by the time you finish typing everything back in, the power would go out? Ahhh... teaching kids the frustrations of programming early. haha
    • Re:Sigh (Score:4, Informative)

      by csumpi (2258986) on Sunday December 01, 2013 @09:40AM (#45567605)
      Agreed completely.

      The traps in both javascript an ruby can make even a grown person's head explode, let alone a kindergartner.

      I'm also not convinced by "block programming". OK, it's easy to make a pig move 3 steps forward by sticking three "move forward" blocks together. But that' gets old in minutes, and you want variables and functions. At that point (about an hour in) block programming becomes more of a hassle than typing "A=11".

      As for programming languages, there's also Pascal. Just like BASIC, it was created to for teaching programming [wikipedia.org].

      And why does everything need to be Angry Birds? (Which reminds me, nice slasvertisement again, timothy.)
    • So what would have been wrong with a BASIC-like:

      FOR EACH USER IN USERS
      SENDMESSAGE(USER, "Happy Birthday")
      NEXT USER

      Ruby doesn't look much different:
      Users.each{|user|
      user.SendMessage("Happy Birthday")
      }

      As I get older, I believe more and more than the creators of BASIC knew what they were doing, and make something kids and beginners could understand quickly even if it wasn't perfect.

      Yeah but then Bill Gates came around to spoil it.

      • by ceoyoyo (59147)

        All those symbols is what's wrong with the Ruby. What does |user| mean?

        Good teaching languages don't have a lot of symbols you have to remember. Personally, I think good working languages also use of arcane symbols only where absolutely required.

      • by fisted (2295862)

        Users.each{|user|

        That made my eye twitch. Gross syntax.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      No, BASIC is also a pile shit in pedagogical terms: complex, fiddly, inconsistent, crude. Edsger Dijkstra described potential programmers exposed to BASIC as "mentally mutilated beyond hope of regeneration", but I increasingly think this description could be generalized to cover all students raised in the Algol school of programming - and since Algol begat C and Pascal, which in turn begat C++, Java, ObjC, Python, Ruby, PHP, and JavaScript, I think it sums up nearly all mainstream programmers today.

      Seymour

      • by Cutterman (789191)
        "Seymour Papert once had the right idea: you don't teach "programming", you teach structured thinking and analytical problem solving. " Disagree. When I started programming as a kid 30 years ago BASIC taught ME structured thinking and analytical problem solving. Mac
        • "Seymour Papert once had the right idea: you don't teach "programming", you teach structured thinking and analytical problem solving. "

          Disagree. When I started programming as a kid 30 years ago BASIC taught ME structured thinking and analytical problem solving.

          Mac

          Yep.

          If you start off too abstracted, you don't get anywhere, teaching-wise.

      • by AvitarX (172628)

        The problem with LOGO as a kid was either limitations of the language or the way it was taught.

        Basic was fun, you could program games (really really shitty text adventures, maybe with a little non deterministic combat even, guess the number games, craps, simple character based action games (or modify ones that came in magazines)).

        LOGO may teach concepts of building blocks and using them better, but all that was really covered (in my upbringing) was drawing shapes. Sometimes it was a robot turtle, which was

    • Of course your example has almost nothing to do with the BASIC that its creators created.
    • by Chemisor (97276)

      So what would have been wrong with a BASIC-like:
      FOR EACH USER IN USERS
                      SENDMESSAGE(USER, "Happy Birthday")
      NEXT USER

      The fact that learning this example will help these kids grow up into spammers.

    • Yes, BASIC rocks for learning. It's not half bad for many real world purposes, either.

      It fails miserably at being an obscure way to limit programming to a guild, though. Hey, maybe those things are not unrelated ...

    • by JanneM (7445)

      As many point out BASIC has a lot of problems, and it's easy to acquire bad habits with it.

      So how about Scheme? Seriously; there's very little boilerplate code, and kids don't know the language is supposed to be hard:

      (for-each sendmessage users)

      • Scheme has a number of problems. A big one can be summed up with this backronym: Lots of Idiotic Single Parentheses. The language could have really used a way to consolidate lots of closing parentheses.

        The prefix notation is another problem. Or, rather, that LISP uses prefix, and grade school math is taught in infix.

        Recursion is yet another problem. Children are going to have a very hard time grasping recursion, rather than using explicit loop constructs such as "for next" and "while".

        The I/O of

    • Is it just me that thinks that, when aiming at kids, BASIC still probably is the easiest language to understand (if not the most rigorous)?

      The first example is just HORRENDOUS anyway - boilerplater and ternary crap getting in the way. The second is simplified using specific language facilities and objects.

      So what would have been wrong with a BASIC-like:

      FOR EACH USER IN USERS

      SENDMESSAGE(USER, "Happy Birthday")
      NEXT USER

      As I get older, I believe more and more than the creators of BASIC knew what they were doing, and make something kids and beginners could understand quickly even if it wasn't perfect.

      Historically, Kemeny and Kurtz had had little or no exposure to object-oriented design in 1964. I believe that the first serious attempts at Object-Oriented thinking didn't even begin until 1964.

      They were basically attempting to create an interactive "FORTRAN Lite" language. Which they did, quite successfully. I love FORTRAN. But I am also quite aware the creation of the term "spaghetti code" probably owes more to FORTRAN than it does any other language except assembler, and even more, probably, than COBOL.

    • Your example reminded me of Python:

      for user in users:
          send_message(user, "Happy Birthday")

  • Lazy kids (Score:5, Funny)

    by nbritton (823086) on Sunday December 01, 2013 @09:05AM (#45567501)

    Kids today are lazy. Back in my day, knowing assembly language was a pre-kindergarten requirement.

  • by stonebit (2776195) on Sunday December 01, 2013 @09:13AM (#45567523)
    He says it's all C or nothing. C++ if you're weak but want to look cool. I can't believe how hard core he is. I had no idea 5 year olds could form such hard ideals about programming. He says at school, all the kids who use Java are picked on. Some of the teachers tried to front Ruby, but they just got all up in her grill.
  • by bzipitidoo (647217) <bzipitidoo@yahoo.com> on Sunday December 01, 2013 @09:13AM (#45567525) Journal

    I tried introducing my nieces to a bit of programming. The older was about 7 when I tried it, and she hated it. The younger took her sister's lead and wouldn't even try it. Settled on SVG with reservations, thinking that drawing pretty pictures that a browser can display might interest them. Hoped SVG might be a little like LOGO in a browser.

    A big part of the problem was unnecessary complexity. Doesn't seem like any language does well on that. C or Pascal? Can't just dive in to those. Have to have some boilerplate (the "int main() {... return 0; }" stuff), and a bit of command line training to run the compiler (make is right out) and the executable, or some training to use an integrated environment. A "scripting" language like Perl does better on the boilerplate, but still need to learn extra stuff to get going.

    One of the problems with SVG is the underlying XML syntax. XML is horrible. It's not just verbose, but verbose in a redundant, cluttered way. Maybe syntax highlighting for XML like languages should set the names of closing tags to white on white or black on black, anything to reduce eye clutter. SVG isn't a true programming language anyway, have to at the least drag in JavaScript for that. Then you're into the whole mode mess, very much the same sort of thing with C and makefiles, and the C preprocessing directives.

    Cleaner, simpler syntax might not have been enough to make the difference. The girls are, I think, a bit prejudiced against the nerdy. But it would have helped.

    • by binarylarry (1338699) on Sunday December 01, 2013 @10:26AM (#45567847)

      I hope to god this post is some kind of bizarre troll attempt.

    • by msclrhd (1211086)

      Python is a good language to build up from the ground up -- just type "python" and you start a Python interpreter. You can then start typing. For example:

              >>> 5
              5
              >>> 5*2
              10

      This allows you to only teach the absolute minimum of what is needed at the time. You can even tie it into things like mathematics.

    • by fermion (181285)
      A big part of the problem is that young people still think very concretely and still do not always get cause and effect. A big problem is that people focus on the language rather than the basics of programming.

      I learned to code simple things in basic, use a compiler, and run a program around age 11. But I did not learn programming until two years later using FORTRAN. But we did not get to FORTRAN immediately. We talked about how to break down a problem, how to write steps in simple statements, how to

      • by istartedi (132515)

        I learned to code simple things in basic, use a compiler, and run a program around age 11. But I did not learn programming until two years later using FORTRAN

        I learned BASIC and then assembly when I was 14. I'm not sure when I learned programming. Arguably, none of us have.

        If the Commodore 64 taught us anything it's that the language shipped with the system is crap and you have to dig deeper. Maybe yesterday's PEEK and POKE assembly programmers are reflected in the next generations. Maybe there are "s

  • 10 years from now (Score:3, Insightful)

    by Anonymous Coward on Sunday December 01, 2013 @09:15AM (#45567535)

    Kids will be choosing to work at a McD's or writing JavaScript code. This is all tech industry's goal of making programming and development a skilled trade - much lower paying trade.

    • by MacDork (560499)

      Then we should form a trade union with accreditation. First we need to get a law passed that demands only accredited individuals be allowed. Pick any tech disaster (healthcare.gov?) where we can point and say, "See! We need some standardization in who is qualified to write software!!" We can charge large amounts of money for 'official' training from our accredited university programs. Then we intentionally limit the number of people who can be allowed through the system each year. Finally, if someone with a

      • When coders don't have the time frame they need and don't have the needed QA time you get stuff like healthcare.gov

      • by eyenot (102141)

        OP was right. I don't know where you came from with all the other stuff, but it didn't originate in OP's post.

        The whole purpose of flooding the market would obviously be to make it a cheaper skill. You can package that up any way you want it, but the end result is the same.

        Consider the Zuck. He's duplicitous and shrewd as hell. He supports relaxed immigration laws because it will provide a cheaper work force.

    • by PJ6 (1151747)

      Kids will be choosing to work at a McD's or writing JavaScript code. This is all tech industry's goal of making programming and development a skilled trade - much lower paying trade.

      But a skilled trade is exactly what programming is. Nothing wrong with calling it that. Show me a developer that's more a scientist or theorist than a tradesman, and I'll show you someone who should be kept clear of production.

      And hey, if they want to pay too little... they'll get burned because demand for competence far outstrips the supply. And as far as I can tell this is true for nearly all engineering disciplines - but especially programming.

  • hmmm (Score:4, Funny)

    by buddyglass (925859) on Sunday December 01, 2013 @09:37AM (#45567595)
    So this is kind of like letting them play with elemental mercury instead of chewing on chips of lead paint.
  • by WPIDalamar (122110) on Sunday December 01, 2013 @09:45AM (#45567623) Homepage

    Did anyone watch the video? The code was completely inconsequential to what was talked about and only shown for a brief few seconds as a "ooooh look at code". It wasn't really meant to be read or understood.

    • Agreed. But if you're going to display code to show kids the concept of looping and impress them with just how fast computers can do things repeatedly, a simple 20 goto 10 [urbandictionary.com] infinite loop in BASIC is certainly a lot easier to grasp than the JavaScript Happy Birthday function that used arrays and 0-based-indexing, or the object-oriented Ruby/Facebook API example! :-)

      • 20 goto 10 got me intrigued with how computers worked and how to program them when I was 9. It never stopped. Most others saw 'Hello' running up the screen and said 'meh'.

    • by eyenot (102141)

      Right, so let's get right to wasting kids' time and confusing the hell out of them with this ADHD style bullshit. I call shenanigans. This is all about having a younger audience for marketing, not at all about educating the new generation at an earlier or faster rate.

  • My 6yo daughter loves minecraft. She's played it since just before her 5th birthday.

    Minecraft is the perfect vehicle for teaching programming to kids, but not for the reasons you might think. Just playing the game teaches several core concepts: 1) 3D visualization and imagination, 2) acquiring and applying arcane knowledge, 3) solving tasks by breaking them down into subtasks easily accomplished, 4) solving problems in debug (creative) and runtime (survival) modes, 5) finding even more arcane ways to mani

    • by iiiears (987462)

      The tutorial was likely incomprehensible to kindegartners but maybe Mark Z. was speaking equally to kindergartners as legisilators and educators

      Your 6 yr old might enjoy the "ComputerCraft" mod.

        Minecraft and Minetest have several forks, mods that allow coding in game and complete access to all the code in "grown up" languages. Teaching Scratch is easier but the two biggeest hurdles are still time and patience.

      • by greg_barton (5551)

        What I dig about minecraft's effects on my daughter is that it motivates her immensely. We started out playing on the iPad but she wanted to move on to the PC version. I told her we would do that if she 1) build a 2000 square foot house in the game, 2) build at least 3 floors, 3) use at least 3 different building materials, and 4) make all possible tools using all possible materials. She was five years old at the time, but she eventually did it. It took her three months! (And she could have done it in a

    • My nephew has been into Minecraft since he was 3/4 .. and now a few years later, he is modding, watching HOWTOs on YouTube and loving the Minecraft music videos (he even wants to produce his own) and has gotten a fantastic amount of experience with basic programming logic through pistons and redstone. The social aspect has even been positive--he enjoys joining servers and helping others.

      As someone that learned to program at the age of 4/5 in C64 BASIC (copying games out of magazines line-by-line), I feel t

  • Fairly predictably, this post has led to comments regarding which language is better for teaching kids. There is merit to that discussion, of course, but the main goal of teaching programming to kids to get them interested and maintain their interest. With regards to this, it matters more what they learn to do with the language than what the language is. The smart, creative, motivated kids will figure this out for themselves; those are the kids that will self-teach. The rest will need to be shown the utilit
  • Yes, because we must teach Ruby before we teach kids how to read and write.

    "Now kids, this is how you declair a variable in Ruby"
    "Mr Z, can I go color now?"

    The Article Title is so stupid, and the summery is even worse, that I have no desire to even look at the article.

  • Really? An ellipse as a coding example for K-12 kids? Kids don't even learn what the definition of an ellipse *is* until trigonometry or calculus.

  • This approach to having a generation of coders on the way seems like throwing the teapot in the ocean to fill it. And throwing a torch in after it to make tea. And saying you're being efficient because you picked a rainy day.

    These kids are going to be watching these presentations, going "huh?"

    Kindergarten is, remember, that "grade" before 1st grade. It's not even an education-oriented grade. The point of kindergarten is to establish social awareness and really basic, proper conduct. Kids are given rudimenta

  • case-sensitive scripting language.
  • I'm teaching my kid assembly in utero.
  • Dupe http://news.slashdot.org/story/07/06/26/1855202/day-of-silence-on-the-internet [slashdot.org]

    I saw no new frontpage stories for over a day, whats up /. ?

Real Programmers think better when playing Adventure or Rogue.

Working...