Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course
-
In a bit of a surprise move in the educational space, computer science bulwark Stanford University has chosen to remove Java and replace it with JavaScript in their Intro to Computer Science class. Java has been the language of this somewhat famous class since 2002, a run of fifteen years. They say that Java is showing its age, although to be fair JavaScript is nearly as old. Java itself is 22 years old this year. Since being purchased by Oracle, interest in Java has slowly fallen from its lofty peak during stewardship under Sun.
-
A very interesting choice. I find JavaScript a very odd choice. It's language constructs do not lend it easily to other languages and it is an extremely high level language, one you would expect to find in software engineering, not computer science. Java is a better suited language to comp sci, I think. As would be C or Go or even Python.
As this is a class for which "no prior programming experience is necessary" we have to ask "how can this be a comp sci class?" Sounds like this is a middle schooler class transposed into the university setting. It's interesting that they are making this switch, but it sounds like this isn't a class for actual computer scientists, but just a marketing class that bears that name. An example of why university education for comp sci is so abysmal, this has to be teaching at a level that we would have hoped to have seen at much younger ages - a remedial catch up course that means students in the program will have to spend their first years getting to the level we'd hope real comp sci students would have already been at during high school. Imagine an Intro to Theoretical Physics Research that said "no previous science or math experience required."
WTF Stanford?
-
@scottalanmiller I think you are spot on, the constructs of js does not lend itself well to giving the student more overall applicable knowledge for other languages. I still think that C++ is a great language personal. Sure it's going out of style (everywhere other than game dev) but to use it well your OOP knowledge has to be solid. I mean it definitely is more challenging than java and there are extra things that you have to learn that you don't have to handle in other languages because other languages may automatically handle it cough* memory management * cough but it's still good to know how things work behind the scenes. Then again C++ might just be too daunting for a beginner's comp sci course.
edit: after all you do make the point that most go into college with zero OOP knowledge to begin with =/
-
Even in game dev, C is faster than C++. OOP isn't what it used to be.
-
@scottalanmiller well of course C is faster but C++ does still have the largest share of that particular market.... at least last I checked.
-
@QuixoticJeremy said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@scottalanmiller well of course C is faster but C++ does still have the largest share of that particular market.... at least last I checked.
Probably people just confused about which they are using.
-
I am a bit curious as well. If you don't know any programming, what are you doing in a comp sci classroom?
-
@Reid-Cooper said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
I am a bit curious as well. If you don't know any programming, what are you doing in a comp sci classroom?
Learning programming?
I understand the utility of teaching JavaScript as an intro to CS, but I'm curious why nobody ever chooses plain old C anymore. Why not start off with C and then transition to Java, C++, C#, etc...? I mean... structurally they all branch from C right? Why not build a halfway decent foundation in it first?
-
@scottalanmiller I think this is really odd as well... but I also think Stanford is probably not wrong... they have a methodology. So this makes me think where is computer science heading? Are they just going to disassociate with the eve class languages at some point? Is this not going to be as big of a deal to learn about? I am sure it still will be relevant still, but is this going more towards the darker side of computer science for real programming languages versus scripting or are they just trying to get students used to the semantics of programming before introducing to the more difficult concepts? I think that actually could make some sense, because there are a ton of real applicable things you can do with just the knowledge of javascript and you don't really need to understand bytes of data anymore and how languages deal with memory as much... unless you are a super engineer. I wish my first programming class was javascript instead of Java, but then again I learned a ton from that Java class but never ever used it ever again.
-
@TeleFox said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@scottalanmiller I think this is really odd as well... but I also think Stanford is probably not wrong... they have a methodology.
Do they? They don't require their entering students to have ANY programming experience. That means that their program is for people who are trying to determine if they are interested in or suitable for computer science and not for serious programmers. Their methodology might be solid, but it doesn't lead to professional programmers. Their methodology is for milking students for money, whether or not they get a useful education.
-
Stamford is also one of the schools marketing CS as an IT skill. Saying that their CS students are moving into high-end IT roles.
-
@coliver said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
Stamford is also one of the schools marketing CS as an IT skill. Saying that their CS students are moving into high-end IT roles.
LOL, they are no longer on my "serious school" list.
-
I think Python is showing a lot of strength as a intro language as well, and it may come from a scripting background so to speak, but seems full featured enough to be easy to introduce (Scratch is based on it) and used in more sophisticated settings.
-
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
I think Python is showing a lot of strength as a intro language as well, and it may come from a scripting background so to speak, but seems full featured enough to be easy to introduce (Scratch is based on it) and used in more sophisticated settings.
If you're in a Unix environment, absolutely. However, if it is a Windows environment, then I would suggest PowerShell.
-
@nerdydad
I concur. Powershell is insanely important to any Windows experience. I was speaking to the idea of a SINGLE language for an intro CS course. I suggested it since Python is platform independent to a large degree and IMHO superior to JavaScript for filling that role. Personally, I agree that we should just get back to C. C is the core language for so many things, and even if you extend IT down into the Internet of Things and microcontrollers etc. it is still extremely relevant. -
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@nerdydad
I concur. Powershell is insanely important to any Windows experience. I was speaking to the idea of a SINGLE language for an intro CS course. I suggested it since Python is platform independent to a large degree and IMHO superior to JavaScript for filling that role. Personally, I agree that we should just get back to C. C is the core language for so many things, and even if you extend IT down into the Internet of Things and microcontrollers etc. it is still extremely relevant.There are plenty of reasons why javascript shouldn't be used here. Python I wouldn't see as bad, nor java.
-
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@nerdydad
I concur. Powershell is insanely important to any Windows experience. I was speaking to the idea of a SINGLE language for an intro CS course. I suggested it since Python is platform independent to a large degree and IMHO superior to JavaScript for filling that role. Personally, I agree that we should just get back to C. C is the core language for so many things, and even if you extend IT down into the Internet of Things and microcontrollers etc. it is still extremely relevant.Ironically my intro course was C++. Luckily I had been coding in C++ for a decade at that point so I ended up teaching it but man did that make people suffer lol.
-
@quixoticjeremy said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@worden2 said in Stanford Removes Java in Favor of JavaScript in Intro to Computer Science Course:
@nerdydad
I concur. Powershell is insanely important to any Windows experience. I was speaking to the idea of a SINGLE language for an intro CS course. I suggested it since Python is platform independent to a large degree and IMHO superior to JavaScript for filling that role. Personally, I agree that we should just get back to C. C is the core language for so many things, and even if you extend IT down into the Internet of Things and microcontrollers etc. it is still extremely relevant.Ironically my intro course was C++. Luckily I had been coding in C++ for a decade at that point so I ended up teaching it but man did that make people suffer lol.
My intro was Java. I did a advanced level CS C++ course in grad school... I barely passed that class.
-
Isn't Java the primary android development language?
-
I did Java and hated it. I passed with a B in all of the classes, but, did I hate it.
I would stick with an interpreted language as it teaches exactly what you are trying to teach, how computer understands programs. Therefore, I would go Python.