Honestly, my introductory CS class was in Java, and the dependence on libraries is complete BS.
We were required to write all of our own data structures/classes as we learned them.
After we proved our competence in making proper structures, our professors would then allow us to use certain classes from libraries to get to the meat of more advanced topics.
While I don't agree with using Java as a first CS class language solely based on popularity, the future of students who take one or two CS classes is greatly benefited by the word "Java" on a resume. Java isn't THAT bad. And at least the C-style syntax matches up with a lot of the most popular languages.
We were required to write all of our own data structures/classes as we learned them.
After we proved our competence in making proper structures, our professors would then allow us to use certain classes from libraries to get to the meat of more advanced topics.
While I don't agree with using Java as a first CS class language solely based on popularity, the future of students who take one or two CS classes is greatly benefited by the word "Java" on a resume. Java isn't THAT bad. And at least the C-style syntax matches up with a lot of the most popular languages.