Stanford drops java as intro programming language

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Just another attempt to reduce the volume of 1st year dropouts; doubtful how much of that is really attributable to any perceived "complexity" differences between Java and Javascript.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
[)roi(];20090768 said:
Just another attempt to reduce the volume of 1st year dropouts; doubtful how much of that is really attributable to any perceived "complexity" differences between Java and Javascript.

I think that this is primarily to make the course more accessible to non-science students. I doubt that anyone who gets into Stanford is going to struggle with the notion of bunch of class and method qualifier cruft. In fact I think they're likely to be more offended that "alert" is being presented as a more comprehensive print statement in the example given.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
I think that this is primarily to make the course more accessible to non-science students. I doubt that anyone who gets into Stanford is going to struggle with the notion of bunch of class and method qualifier cruft. In fact I think they're likely to be more offended that "alert" is being presented as a more comprehensive print statement in the example given.
Uh huh, but I'm not sure how many non CS would willingly have taken Java, or even how many would have dropped out solely as result of it's purported complexity.

I'm probably missing the mark on this; and it's just a faculty trying to make CS appear a bit more hip; basically a reaction to Harvard's more hip CS50.
 

Sodan

Expert Member
Joined
Nov 25, 2010
Messages
2,856
[)roi(];20090846 said:
Uh huh, but I'm not sure how many non CS would willingly have taken Java, or even how many would have dropped out solely as result of it's purported complexity.

I'm probably missing the mark on this; and it's just a faculty trying to make CS appear a bit more hip; basically a reaction to Harvard's more hip CS50.

I'm going to assume this CS50 you refer to is something like a bridging course (please correct me if I'm wrong), and I have no problem if it is a watered down version of the real course. In fact, logically, I'd say that's exactly what a bridging course is supposed to be.

I also have no problem if Stanford introduces a CS50-like course teaching javascript, and keeps the first year course Java. This "Java is too complex for first years" doesn't fly with me. If students are not prepared for Java in their first year, then by all means lets allow them to be better prepared by first doing a bridging course.
 

Bryn

Doubleplusgood
Joined
Oct 29, 2010
Messages
16,894
Java is a great language to learn with, not much different to C#. Considering that you can keep things as simple as you want, I don't accept that Java is inherently too difficult.

Although if it were up to me students would start with Python. So much more useful, more 'English-like' and compatible with Raspberry Pi projects which could be loads of fun.
 

HeftyCrab

Expert Member
Joined
Mar 26, 2009
Messages
2,292
Java is a great language to learn with, not much different to C#. Considering that you can keep things as simple as you want, I don't accept that Java is inherently too difficult.

Although if it were up to me students would start with Python. So much more useful, more 'English-like' and compatible with Raspberry Pi projects which could be loads of fun.

I believe Unisa has/is going to drop Delphi for Python, for this exact reason.

Would have loved to do Python instead of Delphi. Either way found it helpful to do it and get an understanding of the basics before jumping into C++.
 

w1z4rd

Karmic Sangoma
Joined
Jan 17, 2005
Messages
49,747
Java is still in heavy use, why would they drop it? Dropping Delphi for Python makes sense, but dropping Java? Though I guess it is an "intro" course, and if we are honest, Java aint exactly an "intro" language to master.
 

Johnatan56

Honorary Master
Joined
Aug 23, 2013
Messages
30,955
It's pretty much known to anyone in the programming world that Java is one of the hardest languages to learn right off the bat; that is if you've never written a line of code in your life.
It is? I found it was better/easier to learn than JS due to the structure being so rigid and that my IDE had JavaDocs built in. :p

But according to this Professor, Java is 'showing its age', and he has been working on this project for the past five years, writing new textbooks and the like.
Huh? And JS isn't? I would argue due to the IDE checks, Java is nicer, especially when it comes to figuring out logic mistakes due to debugging. And what does "showing its age" actually mean? It's in use everywhere.

A small example of the difference between the two languages makes it pretty clear that it might be time for a change.
Well, near all of that is auto-generated and on e.g. Netbeans/IntelliJ I can write sout, hit tab and I have System.out.println("");.

Although Java currently holds the top spot when it comes to programming languages, making it easier for students to learn programming will encourage them to acquire these skills. Java is being used to program applications for Android amongst other things, which makes it a requirement when working in the programming field. But this change is mainly there to help students get into the concepts behind programming, instead of drowning them in 'Public Static Void' like jargon.
Could have picked Python then...
If you're just learning a language, then there is none better than Python. It's an easy language to pick up. It's well documented. It's associated with a large, active, and friendly community. Since it's a scripting language, you can easily try stuff out and immediately see the results. You can also build up from programming basics, starting by learning functions and then moving into classes.

Javascript is the bane of many a programmer's existences. It's easy enough to learn, and is good for small scripts which is what is was designed for. But once you start making anything big, it becomes hard to keep track of. That's why language modifications like CoffeeScript, Typescript and Dart have emerged.

As noted by spinon, these programming languages were used in very different ways. Python is a general scripting language, which can sometimes be used to do server-side work. Javascript used to be solely used for building interactivity on web pages. Nowadays, however, it also becomes popular in server-side and desktop applications as Node.js.
https://stackoverflow.com/questions/3266223/python-over-javascript-facts-please

EDIT:
[)roi(], you posted this once:
attachment.php

https://mybroadband.co.za/vb/showthread.php/810768-Javascript-Lesson-1
 
Last edited:

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
I'm going to assume this CS50 you refer to is something like a bridging course (please correct me if I'm wrong), and I have no problem if it is a watered down version of the real course. In fact, logically, I'd say that's exactly what a bridging course is supposed to be.
They're both CS Introductory courses.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
Looking at the courses, that particular course is still available in Java or Python (Python is recommended in the course description for science and engineering students). JavaScript has just been added as a 3rd option. C++ is also part of the first year curriculum. CS106A (J/JA/P) is just one of many first year CS courses, making up approximately 1/60th of the degree.
 
Last edited:

zippy

Honorary Master
Joined
May 31, 2005
Messages
10,321
I would have thought the purposes of these courses at institutions like Stanford is not to teach a specific language but to teach computer science. So it doesn't really matter which language they use.
 

cguy

Executive Member
Joined
Jan 2, 2013
Messages
8,527
I would have thought the purposes of these courses at institutions like Stanford is not to teach a specific language but to teach computer science. So it doesn't really matter which language they use.

Agreed. This is just a small part of their first year CS curriculum. The reason for the choice (of languages) seems to be primarily because there are many non-CS major students that would do the introductory programming module. I've interviewed hundreds of Stanford grads, and none of the ones we hired were hired because they knew some language well.
 
Top