Stanford CS department updates introductory courses: Java is Gone

April 21, 2017 at 7:09 am 36 comments

See update here: Stanford is NOT switching from Java to JavaScript: I was mistaken

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

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

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

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

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

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

      Reply
  • […] 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 […]

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

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

    Reblogged this on The Secret Guild of Silicon Valley.

    Reply
  • […] visit Computing Education Blog […]

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

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

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

    Reply
  • […] 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 […]

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

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

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

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

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

        The last sentence did make me laugh out loud.

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

    Reply
  • […] 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 […]

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

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

    […] Stanford Boots Java for JavaScript […]

    Reply
  • […] 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 […]

    Reply
  • 25. kenneth  |  May 31, 2017 at 6:29 am

    […] Stanford Boots Java for JavaScript […] 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.

    Reply
  • 26. Computer  |  June 24, 2017 at 11:43 pm

    […] Stanford Boots Java for JavaScript […] […] Stanford Boots Java for JavaScript […] 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.

    Reply
  • 27. Harold's  |  June 30, 2017 at 8:39 am

    […] Stanford Boots Java for JavaScript […] […] Stanford Boots Java for JavaScript […] 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. […] Stanford Boots Java for JavaScript […]

    Reply
  • 28. nicholasjlennox  |  July 13, 2017 at 6:11 am

    […] Stanford Boots Java for JavaScript […] […] Stanford Boots Java for JavaScript […]

    Reply
  • 29. markmhamann  |  July 13, 2017 at 6:19 am

    […] Stanford Boots Java for JavaScript […] […] Stanford Boots Java for JavaScript […]

    Reply
  • 30. jeffreydhairston  |  July 18, 2017 at 6:59 am

    […] Stanford Boots Java for JavaScript […] […] Stanford Boots Java for JavaScript […]

    Reply
  • 31. gumersindo  |  August 1, 2017 at 10:42 am

    I think that starting in Python then switching to Java makes sense. […] Stanford Boots Java for JavaScript […] 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.

    Reply
  • 32. ardalionanguiano  |  August 10, 2017 at 8:32 am

    I think that starting in Python then switching to Java makes sense. […] Stanford Boots Java for JavaScript […]

    Reply
  • 33. charlesdoliver  |  August 20, 2017 at 5:11 am

    I think that starting in Python then switching to Java makes sense. […] Stanford Boots Java for JavaScript […]

    Reply
  • 34. toddbschlueter  |  August 30, 2017 at 7:15 am

    […] Stanford Boots Java for JavaScript […] […] Stanford Boots Java for JavaScript […]

    Reply
  • 35. 200+ Quotes 2017 | ronatory  |  December 26, 2017 at 2:39 pm

    […] 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. — From Stanford CS department updates introductory courses: Java is Gone […]

    Reply
  • […] a blog post saying that Stanford was abandoning Java for JavaScript in their intro course (see post here).  The post was initiated by an article in the Stanford Daily. The post caused quite an uproar, […]

    Reply

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


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

Join 11.4K other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,093,329 hits
April 2017
M T W T F S S
 12
3456789
10111213141516
17181920212223
24252627282930

CS Teaching Tips