Slashdot Mirror


Stanford CS101 Adopts JavaScript

mikejuk writes "In case further proof were needed that JavaScript shall indeed inherit the earth, we have the news that Stanford has adopted JavaScript to teach CS101 — Introduction to Computing Principles: 'The essential ideas of computing via little phrases of JavaScript code.' You can even try it out for yourself at Stanford's course page."

9 of 255 comments (clear)

  1. Ideal IDE by vlm · · Score: 3, Interesting

    For utter newbs not going into CS, JS is a good choice, because any machine with a web browser is a dev box, but for actual CS students, a debian boot disk is probably more appropriate.

    You should have heard the screams of pain in my cobol class many years ago. What, you mean a "dos" application? And the alternative is a AS/400 that doesn't even support telnet? Someone who suffered thru that kind of experience probably went to the other extreme in selecting JS.

    JS isn't even all that bad of a language for newbies to learn the basic concepts.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    1. Re:Ideal IDE by djdanlib · · Score: 3, Funny

      JavaScript is analogous to McDonald's. Sure, it's cheap, they have plenty of options and they are everywhere, but there's much better stuff out there.

    2. Re:Ideal IDE by memyselfandeye · · Score: 3, Insightful

      It's Ok. Next year they'll be teaching Rails.

      Q) Can you tell me the difference between FIFO and LIFO?
      A) Nope, but I can open a new window on a browser using BOTH client side and server side scripting. That's because I went to Stanford. It's a totally cutting edge difficult school!

      Seriously though, I think this has to be a very introductory course for CS students with zero programming experience or a light course for non CS students. By the start of their second year, Stanford CS students will be doing Operating System Designs in C, I checked their curriculum. It's exactly the same as mine 10 years ago. Our intro was parsing text and learning loops in C, and most kids needed a crap load of help to get Borland going on their computer. I can totally understand using a scripting language that just needs a browser. It probably could have been harder for me and these guys, but most of us were/will be struggling enough in chemistry and electronics 101 to give a fart. By year 2 they'll be writing buffer outputs in ASM and building disk caches in C. Should they go on to graduate school, they'll be writing in languages their advisor has developed that many 3 other people on the planet have any familiarity with.

      I remember my first job interview. "Give me a book and a couple weeks" was the answer to "We think you'll be a good fit, but what other languages can you program in."

    3. Re:Ideal IDE by _0xd0ad · · Score: 3, Informative

      Q) Can you tell me the difference between FIFO and LIFO?

      Javascript arrays have push(), pop(), shift(), and unshift() methods. If they fail to teach FIFO and LIFO, they can't blame it on Javascript.

    4. Re:Ideal IDE by Anonymous Coward · · Score: 3, Informative

      JS is indeed a bad language if you care at all about syntax or sanity.
      Here's a couple from Stackoverflow.

      In JavaScript:
        '5' + 3 gives '53'

      Whereas
        '5' - 3 gives 2

      the following construct
      return
      {
              id : 1234,
              title : 'Tony the Pony'
      };

      is a syntax error due to the sneaky implicit semicolon insertion on the newline after return. The following works as you would expect though:
      return {
              id : 1234,
              title : 'Tony the Pony'
      };

  2. Javascript on the James Webb Space Telescope by ToSeek · · Score: 3, Insightful

    The James Webb Space Telescope - if it's ever actually launched - will run its onboard science operations using scripts written in a tailored version of JavaScript.

  3. Re:First programming course? At Stanford?? by Dahamma · · Score: 4, Informative

    The summary is awful.

    First, this isn't even recent news, it was added *last* year.

    Second, this isn't an intro course for CS majors (or even any engineering major, or hell, even a non-engineering major interested in programming). It's basically a really high level intro to computers and "programming principles" for "fuzzies" with an irrational fear of computers (which as you say, is definitely a small group at Stanford).

    Though the lecturer (Nick Parlante) is awesome, so it's probably a fun class, and might even get some people interested in taking the real intro to programming class (CS106A).

  4. Re:whither MIX? by idontgno · · Score: 3, Insightful

    You have to separate the Real Programmers from the whiny trembling wannabees. Assembler is the equivalent of using blanks during "live-fire" training. Any high-order language is like a bunch of guys shouting "POW! POW! BANG! RATATATATAT!" at the trainees while they lackadaisically low-crawl through the not-very-muddy mud.

    If you want programmers that won't flinch when the loading ramp on the assault boat drops, you need to start them on machine code. Maybe a rational and internally-consistent architecture, like VAX; after all, this isn't special forces training. (For that, we should use architectures like Intel 80286.)

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  5. Important: This is NOT their "Intro to CS" class by comp.sci · · Score: 4, Informative

    To clarify, this class is a cursory overview of how computers work, a few basics on whats makes them tick and how to make them do fun things. This class is meant as a general education "learn about computers" effort, this is NOT their intro to CS class. Look at CS106X for programming, CS103X for discrete math, ... To repeat: Stanford is NOT teaching CS majors javascript, they are showing off what computer can do for humanities students with CS101. On a side note: I can see why most commenters would not catch this but how did the editors miss this obvious fact? Do a tiny bit of background research (aka click their link) and you will see how this summary is entirely misleading.