4 ms·
I think this is a great question. When I graduated way back in the day, CS was surging as a major but was still very much emerging from the Mathematics departme
by bane 4y ago
I think this is a great question. When I graduated way back in the day, CS was surging as a major but was still very much emerging from the Mathematics department. We were encouraged to take electives in software engineering and other "adjacent" fields, mostly in order to better understand what CS was and what it wasn't. The kinds of fundamentals referred to here were absolutely considered minimums at the boring state school I went to. By the time we graduated, we were expected to know this stuff so well that one of the required classes had us build a basic unix-like OS from scratch, which included many of these kinds of fundamentals in the guts of the project.
Since then, I perceive that CS programs have come under immense industry pressure to crank out software engineers and not computer scientists. The need for real computer science is not very large as a percentage in the entire computing/software industry. And generally once a funky CS problem is solved, it gets encoded into software and then reused by software engineers over and over.
I think this has forced CS departments to start directing some of the curriculum towards software engineering rather than CS -- resulting in students who are more diluted in the fundamentals, but who also aren't great software engineers.
I also think that some departments are also now trying to figure out how to support the massive growth in the kinds of computer science theory needed to support the emerging data science/machine learning/deep learning/etc. fields. When I graduated GPUs were still relatively new and we simply didn't learn those until later MS programs. Now I couldn't see somebody graduating undergrad without knowing some basics on how GPUs work on the hardware and software side, and understand the data structures and computations required to work with the new classes of models emerging in the field.