So where should people who want to learn the discipline of software engineering go? It’s definitely what most CS majors are actually there for, and there’s no separate software engineering major at (almost) any liberal arts colleges. I get that saying “that’s why it’s CS not SE” is the hip thing to say when this comes up, but it doesn’t answer the underlying issue, which is that people want a mix of theory and job training, and right now they’re getting almost entirely theory.
> Computer Engineering or any of the other legitimately useful CS degree paths instead of CS itself.
> At least at the school I went to, CS was kind of a joke for undergrad.
> The students that cared about CPU design, low level software (firmware, drivers, kernel, embedded), or robotics (including computer vision, etc) all went computer engineering.
> The students that cared about cryptography or the formal maths side of computing all went to the mathematics dept in their applied discrete maths or applied computational mathematics degree paths.
> The students that cared primarily about high performance computing or applied computing in general (but didn't go one of the aforementioned routes) went through the computational modelling and data analytics program.
> And the students that wanted to learn CS for the purpose of game design or creative arts had their own program within the school of arts (can't remember the name).
> So out of the students who were interested in computing that went to my uni for undergrad, the ones that were left in the CS department were those who were told "get a CS degree for lots of money", those that didn't bother researching any other programs, and those who wanted to be web devs or enterprise java/c# devs.