|
|
|
|
|
by MichaelGG
4117 days ago
|
|
For non-engineering people, Java seems like a slightly odd choice, is it not? So much overhead in learning, plus overhead if they did want to integrate coding into their lives in a light way. Why not Racket or a scripting language? As much as it pains me, even JS might be of better use. Or is it just the case that these people just wanna take one course from the "real" CS for a non-coding reason? |
|
Given that the class has been successful at teaching programming methodology to tens of thousands of beginner students over the past decade there's no pressing need to restructure the entire course, even though everyone does acknowledge that Python or some other language could be better for new students. It's basically like any other large software project, yeah it could be rewritten from scratch and modernized to make small gains, but if it ain't broke, why fix it, especially when the professors and TAs have other projects that have far more interest in, like this paper.
Also one thing that many people don't know is that CS106A actually changes the language environment as well as providing a modified version of Eclipse to remove some of the less useful overhead in Java (for example removing main, and the beginner confusion surrounding keyword static, arrays and arguments). Also there's a much simpler introductory class called CS105/101 that uses Python.
Source: I taught sections and managed the TAs for the introductory classes over the course of four years while I was a student at Stanford.