Am I reading this wrong, or is this person in the first, introductory, 101 basic programming course, and is talking about what is or isn't Computer Science? You can't get into the OS design courses or Compilers or Computational DiffEq or whatever, without going through the basic rigamarole.
It's also funny because CS110 at UBC, which his what he's citing - has been pretty controversial course which other members of the department gave accused of not sufficiently preparing students for the second year curriculum which mostly use imparative languages like C/C++/Java (which they don't really teach you either) resulting in more topics pushed into third year.
What OP doest recognize is that top level colleges are able to get away with this lack of handholding because they can expect students to be smart/determined enough to either pattern match their way through or just learn it own their own. It's accepted in intro courses because this is what more advanced CS courses/jobs are like.
> has been pretty controversial course which other members of the department gave accused of not sufficiently preparing students for the second year curriculum which mostly use imparative languages like C/C++/Java (which they don't really teach you either) resulting in more topics pushed into third year.
This complain is very typical in case of Scheme or general FP based courses. Everyone wants to be taught the most shiny trendy language of the time.
Infact, UWaterloo uses HtDP for its introductory course and I've heard that they churn out excellent developers who understand the data they are working with.
You're reading it right at face value, however I concede it's possible this student has long since graduated.
I somewhat routinely go out with my former CS professors (I've known them for almost 20 years at this point). They currently express some of the frustrations that this student has, but on the teaching side. As I was told, the US is relatively split 50/50 between programs that teach the computability theory first and foremost, and programs that teach practical development.
The problem as I was told, is that the computability theory method is a drag on student achievement. Many want to revamp their departments to ease students into things like automata, complexity, and architecture concepts, but there is a lot of push back from existing professors. Students are entering the program these days without being able to grok even simple boolean statements (true && !false). OpenAI is removing a lot of opportunities for these students to self-learn. Most departments understand that they need to revamp. However, you have faculty who each are experts in their own slices of CS, and most are hesitant to change: "The real problem is that kids these days need more data science" "No the real problem is kids these days need more distributed computing". The result is that it's difficult for departments to come to an agreement on a proper on-ramp, so they cling to existing programs.
It's known that the incoming generation is less tech savvy than the prior. The question is if CS faculty can restructure their departments to sync with the new generation, and the field as it exists today.