Stanford CS department updates introductory courses: Java is Gone

April 21, 2017 at 7:09 am 24 comments

Stanford has decided to move away from Java in their intro courses. Surprisingly, they have decided to move to JavaScript.  Philip Guo showed that most top CS departments are moving to Python.  The Stanford Daily article linked below doesn’t address any other languages considered.

The SIGCSE-Members list recently polled all of their members to talk about what they’re currently teaching.  The final spreadsheet of results is here.  Python appears 60 times, C++ 54 times, Java 84 times, and JavaScript 28 times.  I was surprised to see how common C++ is, and if Java is dying (or “showing its age,” as Eric Roberts is quoted below), it’s going out as the reigning champ.

When Java came out in 1995, the computer science faculty was excited to transition to the new language. Roberts wrote the textbooks, worked with other faculty members to restructure the course and assignments and introduced Java at Stanford in 2002. “Java had stabilized,” Roberts said. “It was clear that many universities were going in that direction. It’s 2017 now, and Java is showing its age.” According to Roberts, Java was intended early on as “the language of the Internet”. But now, more than a decade after the transition to Java, Javascript has taken its place as a web language.

Source: CS department updates introductory courses | Stanford Daily

ADDENDUM: As you see from Nick Parlante’s comment below, the JavaScript version is only an experiment.  From people I’ve talked to at Stanford, and from how I read the article quoted above (“more than a decade after the transition to Java, Javascript has taken its place”), I believe that Stanford is ending Java in CS106.  I’m leaving the title as-is for now. I’ve offered to Marty Stepp that if CS106 is still predominantly Java in one year, I will post a new blog post admitting that I was wrong.  Someone remind me in April 2018, please.

Entry filed under: Uncategorized. Tags: , , , .

Google seeking input on next directions in CS Education Research ACM TURC 2017: Come see Amber, Dan, and me in China

24 Comments Add your own

  • 1. Leland  |  April 21, 2017 at 8:00 am

    I think the headline is a bit misleading. Java is not gone from Stanford’s huge intro course CS106A and C and C++ are not gone from CS106B or CS 107. Looks like they are experimenting with a pilot version CS106J that uses Javascript.

  • 2. Neil  |  April 21, 2017 at 12:20 pm

    I think a lot of ECE programs still do intro courses in C/C++, since that is the most common language for embedded systems etc. Another interesting analysis would be imperative/functional/(whatever JS is)

  • 3. Nick Parlante  |  April 21, 2017 at 2:09 pm

    As Leland says, the javascript version is an experiment by Eric Roberts. I’m also building an experimental version rolling out 2017-18. My version emphasizes Codingbat-style autograding materials (which will be freely available). I’m interested in an approach that works well for Python or Java or any language.

    -Nick Parlante

    • 4. rtoal  |  April 23, 2017 at 4:16 am

      So looking forward to this, Nick. Where will be announced?

  • […] Stanford has decided to move away from Java in their intro courses. Surprisingly, they have decided to move to JavaScript.  Philip Guo showed that most top CS departments are moving to Python.  The… Read more […]

  • 6. rtoal  |  April 22, 2017 at 1:24 am

    Welcome to the JavaScript first approach! We’ve been doing things this way at LMU computer science since 2009 and have been very happy with this approach. Java, Python, C, and assembly all enter the curriculum by the end of the sophomore year, but JavaScript has always felt like the right place to start.

  • 9. dendisuhubdy  |  April 22, 2017 at 7:01 am

    Reblogged this on The Secret Guild of Silicon Valley.

  • […] visit Computing Education Blog […]

  • 11. Simon  |  April 22, 2017 at 1:02 pm

    From all language available they choose one of the worst. It will produce nothing but script kiddies with no sense of clean code or design.

  • 12. Alfred Thompson  |  April 22, 2017 at 4:22 pm

    Honestly I still think the instructor is more important than the language.

  • […] Stanford has decided to move away from Java in their intro courses. Surprisingly, they have decided to move to JavaScript.  Philip Guo showed that most top CS departments are moving to Python.  The… Read more […]

  • […] April 21, 2017 at 7:09 am […]

  • 15. Garth  |  April 23, 2017 at 12:32 pm

    Univ of Montana has just switched from Java to Python for the intro CS major language. Second semester they go back to Java as the OOP language. My limited skill with Java does not allow me a strong opinion one way or the other. I do think doing two languages will strengthen the students.

    • 16. gasstationwithoutpumps  |  April 24, 2017 at 12:16 am

      I think that starting in Python then switching to Java makes sense. Python gives you strong typing with less overhead than Java, and Java can be used afterwards to introduce static typing.

      Introducing a change to the first language is often difficult, as individual prejudices within a department can torpedo any significant changes, even (or especially) ones that would improve instruction.

      • 17. Bijan Parsia  |  April 24, 2017 at 3:44 pm

        If you stay in Python you can use type annotations and mypy to introduce some manifest typing concepts. You could then move over to Cython for a bit more bare metal, enforced, and performance oriented manifest typing.

        Or you could slide over to Nim which people say feels Pythony but has manifest/static typing with performance implications.

        (I’m not opposed to swapping to Java, but smoothing the transition can help break the overstrong associations students get between particular manifestations of manifest typing and other properties.

      • 18. Mark Guzdial  |  April 24, 2017 at 4:40 pm

        The last sentence did make me laugh out loud.

  • 20. alfredtwo  |  April 26, 2017 at 4:33 pm

    Eric Roberts is teaching it – what are the odds it will be a failure? Probably not very good. This makes it hard to know if the language or the professor is the key to success. So much fuss over what language to use when more emphasis should probably me on who is teaching and how they do it apart from the language.

  • […] first language discussion is warming up again.  Universities seem to be abandoning Java for something else and the conversations start (see here and here).  Even the University of […]

  • […] via Stanford CS department updates introductory courses: Java is Gone — Computing Education Blog […]

  • 23. Riding the Whale | CR 254 | Jupiter Broadcasting  |  May 15, 2017 at 9:36 pm

    […] Stanford Boots Java for JavaScript […]

  • […] lập trình nhập môn từ Java sang JavaScript. Tin tức này đã được đăng tải tại Computing Education Blog và đã khởi phát hàng trăm cuộc tranh luận trong giới chuyên gia và giảng viên […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed

Recent Posts

April 2017
« Mar   May »


Blog Stats

  • 1,387,768 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 5,036 other followers

CS Teaching Tips

%d bloggers like this: