TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Stanford dumps java as intro language

49 pointsby noahster11almost 8 years ago

11 comments

aduffyalmost 8 years ago
I&#x27;ve TA&#x27;d all of Stanford&#x27;s intro programming classes, including the first course in programming CS 106A, so a few things:<p>- unlike a lot of other schools, CS 106A is mostly taken by non-majors (90-something percent of undergrads take at least one CS course before graduation, and for non-majors that means 106A)<p>- the follow up course, 106B, is in C++ and focuses on OOP, pointers, memory, data structures, etc.<p>- 106J was crafted as a replacement for 106A by in JS. It had limited enrollment, and word on the street is 106J&#x27;s first offering this past spring was an experiment and it didn&#x27;t go all that well, so who&#x27;s to say if it&#x27;ll still be around next year.<p>Maybe they should switch from Java to something hipster and trendy, but there&#x27;s about 10+ years worth of assignments that will need to be rewritten, including autograding infrastructure for the 600-800 people who take it every quarter.<p>I personally feel like JS is an awful language with few opinions or guard rails, and thus a bad language to teach people who are looking for programming principles. It works for the web but I think for a course almost entirely consisting of non-majors it&#x27;s not a good first language.
评论 #14810739 未加载
xoroshiroalmost 8 years ago
I&#x27;d say Python would&#x27;ve been the &#x27;safe&#x27; and &#x27;sane&#x27; choice, but maybe it&#x27;s just my bias against Java and JavaScript talking.<p>Just curious, has anyone ever heard off choosing to teach something like bash &#x2F; PowerShell? It might seem less intimidating than downloading a lot of stuff and students can play around with stuff already in their computer. Hell, maybe even something like VBA (as much we might dislike it) since non-majors will likely encounter it in MS Office anyway.
评论 #14810729 未加载
评论 #14811081 未加载
评论 #14812025 未加载
xaaalmost 8 years ago
I went to a completely unranked school, not even a CS major. But took Programming I anyway. It was for freshmen, and was in C++.<p>IMO, for an intro language, you need either something close to the metal, so that students can work their way up the abstraction chain, or something very high-level with flexible constructs if it&#x27;s desired to teach things from the algorithmic level.<p>I also think that any dynamically typed language is a bad choice for a first language. We&#x27;re all used to holding the types in our heads, but beginning programmers don&#x27;t even know what they are, and it&#x27;s a really core construct.
评论 #14809505 未加载
评论 #14809484 未加载
评论 #14809317 未加载
rogocopHalmost 8 years ago
I am really curious if this actually makes things better..Maybe I am just getting old..<p>But this seems like everything else. Let&#x27;s dumb it down so people can get it. But if you really want to be a programmer, you will get it. You will spend hours debugging and feeling like you know nothing. That is what makes you grow.<p>On the other hand....I ran into some Senior CS students who were incapable of programming in javascript...so...maybe it is not so bad.
评论 #14809309 未加载
评论 #14809301 未加载
z1mm32m4nalmost 8 years ago
I&#x27;m sure I&#x27;m biased, but I&#x27;m a huge fan of how they taught our first two semesters where I went to school. Semester 1 freshman year was imperative programming in C (learning pointers, bits, the stack and heap, memory, ...). Semester 2 was functional programming in SML (learning recursion, types, function composition, formal reasoning, ...).<p>When it comes to other programming language features, there are few that can&#x27;t be understood as some combination of imperative and functional features. Introducing them freshman year, students take these lessons with them to every subsequent language they learn.
dansoalmost 8 years ago
I teach at Stanford though not in CS. I think this headline is a bit off. There is a CS 106J class that follows the CS 106A curriculum using JS instead of Java, but as far as I know, the CS 106A Java curriculum has not been tossed out for the academic calendar of 2017-2018 (syllabuses aren&#x27;t up yet, so I can&#x27;t confirm).<p>As the article states, CS 106J was spearheaded by Professor Roberts this past year. I would imagine it&#x27;d take some more time for it to become a curriculum that all of the profs teach, though JS is being used in several other CS classes. For example, CS 142: Web Applications, used to be taught with Rails:<p><a href="https:&#x2F;&#x2F;web.stanford.edu&#x2F;~ouster&#x2F;cgi-bin&#x2F;cs142-winter14&#x2F;index.php" rel="nofollow">https:&#x2F;&#x2F;web.stanford.edu&#x2F;~ouster&#x2F;cgi-bin&#x2F;cs142-winter14&#x2F;inde...</a><p>Now it&#x27;s taught with MEAN (Mongo, Express, Angular, and Node): <a href="http:&#x2F;&#x2F;web.stanford.edu&#x2F;class&#x2F;cs142&#x2F;info.html" rel="nofollow">http:&#x2F;&#x2F;web.stanford.edu&#x2F;class&#x2F;cs142&#x2F;info.html</a>
charlie-ralmost 8 years ago
Students who start by learning Java will learn solid principals which may be applied to Javascript (or any other language).<p>Students who start by learning Javascript won&#x27;t learn solid principals.
评论 #14810776 未加载
评论 #14810745 未加载
edemalmost 8 years ago
They could have chosen a thousand better languages for starters like Python or Ruby to mention some useful ones or Scheme for example which has literally no syntax. They chose an abomination instead. Now we&#x27;ll have even more influx of javascript-only coder hussars who have never seen an ecosystem which is not rotten to the core. Congratulations.
RandyRandersonalmost 8 years ago
It&#x27;s funnny how, when java first came out, everyone was writing applets and not doing a good job of it (incl myself). This was due to it being way easier to code and deploy as opposed to C&#x2F;C++ at the time. This gave ppl the impression that java was slow, when in fact the code was terrible (and ms was constantly submarining sun).<p>Now I&#x27;m sitting here with 16GB of really terrible Javascript code running in my browser using 5% constantly of the fastest intel chip you can buy today. No one says it&#x27;s slow probably because no one knows it&#x27;s running.<p>If chrome and ff put a task in the process list with all the Javascript CPU usage I&#x27;m guessing things would be way different.<p>I really do think K&amp;R C should be taught to university level students. It&#x27;s important to understand pointers and mallocs, even if you don&#x27;t use it often.
Grazesteralmost 8 years ago
Javascript, really? Why not Python?
评论 #14809295 未加载
评论 #14809630 未加载
评论 #14809342 未加载
chobytesalmost 8 years ago
Honestly dropping Java or C++ as intro languages is fine imo... But why not something like Lisp, SML, or even Ruby...?
评论 #14810790 未加载
评论 #14811034 未加载