http://web.cs.ucla.edu/classes/spring20/cs131/homework.html
The languages change over the years, but the goal is to have them touch different programming paradigms.
"Universities should offer a class on comparative programming languages and language tooling." is much different than "Intro-to-programming classes should not have a strongly-recommended IDE"
The assignments aren't trivial. Take look at them:
Understanding the details of packages and javac and other things should be left for a later class which can put them in the context of other languages.
Very interesting to see how our mind is shaped by the tools we use.
I transition quickly into more visual / abstracting tools, but that first foray into the guts really helps ground me with a better understanding of what's actually happening.
- C
- Python (+ Flask)
- JavaScript
- SQL
I think this was the order. They learn C the most.
There is no question in my mind that you are correct, in principle. But I wonder if what you propose would in fact result in higher attrition rates. With the current approach, the majority benefit from an IDE that reduces the 'cognitive surface' of the "programming environment", and for those who prefer or gravitate towards the underlying layers, no one will prevent them from firing up e.g. Vim and maven.
That said, yes, don't make students use Eclipse. Make them use IDEA or VS something. /g
I don't think that it's true that the general goal of University of CS programs is to prepare students for the software dev industry.
Hell, they're even learning version control (mainly Git, some SVN) in CS degrees now, which was a nice change to see start coming through in the grads we interview.
Although we're seeing universities now start offering Engineering degrees in software with a far more "real-world" requirement including mandatory internships and an industry sponsored research project.
University programs as I know them prepare the enrolled for a career in science and are typically far removed from concerns of practicability or applicability.
And even then, we only have them for the trades - plumbers, sparkies, joiners etc.