That still seems exceptionally low. Posted this upthread but in 2010 20% of the student body was in Biology (once topical sub-specialties were aggregated).
20% of ~3500 would be closer to `700, which is 3.3x the number of declared comp sci students.
Or maybe my math is wrong? I'm more interested in the actual knowledge being put in and attention being paid out than a critique of the degree naming conventions.
A proper CS degree teaches you how to think, how to solve insanely hard problems, and how to do so with a team of other smart people - often with different personalities.
What separates CS from other degrees is that it does filter out those without the horsepower or fortitude on both the quant side (algorithms) and the creative side (systems, architecture).
That means, that even if the SV bubble crashes, CS majors are the best equipped to handle whatever career is hot next - any hiring manager at Goldman, McKinsey, or F500 company X will tell you the same.
Any degree that claims it teaches you how to think should ring the snake-oil alarm.
> how to solve insanely hard problems, and how to do so with a team of other smart people - often with different personalities
So how do they teach that? Or does that just mean they got a few group projects, where smart people bump into each other but don't really learn to solve problems in a team?
Unis tend to suck at teaching teamwork. Though they tend to be pretty good at teaching algorithms and systems (which are good to know, and don't go out of date too quickly).
The worst course I took in my CS department was the algorithms and data structures course. Didn't write a line of code. Wrote a ton of induction proofs. Learned a lot of esoteric algorithms that have very good big O profiles, but suck bogwater because of cache coherency when they are implemented on non-imaginary hardware, or have high constant factors that got hand-waved away. I'd sign up for that course in a hot second, if it covered the same material, but instead of scrawling on a chalkboard, it was structured around writing the same algorithms in C, segfaults and all. I don't think most CS majors could hack that kind of course, however.
I do wonder to what student material you've been exposed to when you claim most CS majors could not attend a basic practical programming course in C.
Algorithms was all about searching, sorting, and heaps, and the main project was implementing several different sort algorithms in C or C++ and comparing their best / worst case performance. Also pretty easy, and very useful.
Advanced algorithms sucked balls. 100% theory and proofs, no implementation. Instructor was awful Didn't get anything useful out of it. All the other students were cheating on the homework together, since all the problems were right out of the textbook and somebody had the solutions manual. Still got an A but it was awful and I got nothing useful out of it.
The techniques I learned there are all out of date or things I could have learned in the first few months on the job. While the techniques I learned in algorithms and data structures (and other theoretical classes like discrete math and automata) are pretty much still state of the art and have proved useful time and again (and I definitely wouldn't have picked most of them up after a few months on the job).
This is quite a strong claim. I also find the terminology "filters out" troubling. I thought universities were fundamentally there to teach people and not just sieve them. Well, personally my physics department was operated like a sieve but that simply is not a rational way to run an educational facility. It's just macho bullshit ("We're so tough...").
"That means, that even if the SV bubble crashes, CS majors are the best equipped to handle whatever career is hot next.."
I would claim when changing to a new field, any university major that requires rigorous thinking and understanding of math based systems gives that advantage.