@anonymous234 said in Stanford dumps Java as introductory class:
@japonicus Well, if you're trying to teach a specific thing (e.g. data structures, a certain GUI toolkit, mathematical simulations), all the obstacles you find before getting to that specific thing are bad obstacles that you'd ideally want removed.
For example: Jeff @wood said "we keep the Discourse development stack complicated because it weeds out the amateur programmers". But knowledge of a specific development stack is not the same as knowledge of databases, algorithms, UI or good development practices in general. They are obviously correlated because developers must learn all those topics to be good, but they're still separate.
I'm not quite sure how that's a reply to my earlier post but anyway
The Stanford course under discussion was 'Programming Methodology', so yes, from a perversely narrow perspective you could argue that this could be taught using any language (or no language). It's described as a basic introductory course, with no prior knowledge required.
So in an algorithmic course, you should try to weed out students by testing their algorithmic skills, not testing their ability to understand C strings, Java class inheritance or Fortran compilers.
It distresses me that you appear to see 'weeding out students' as the purpose of a university course. If that's the objective then I'd advocate insisting on machine code written in binary on ticker tape.