The courses you list are mostly very necessary for well-rounded knowledge and ability to synthesize research and share knowledge (like in a team project), and doesn’t seem to be a high course load. Putting it in the first two years also suggests the later years allow you to be more specialized on CS.
Linear algebra, discrete math & probability really are needed all the time.
> The courses you list are mostly very necessary for well-rounded knowledge and ability to synthesize research and share knowledge (like in a team project),
I can only repeat what I said:
Look - I think I gained quite a bit from the well rounded education I got. And my general advice is that people should go for it. However, I also have the reality of experience: Most of my peers who have degrees are poor at writing, poor at communication, poor at ethics, and poor at business skills. I see nothing differentiating them from trade school folks in this regard - and these all matter in the work place.
> Linear algebra, discrete math & probability really are needed all the time.
Why?
One can understand O(N) enough to do over 90% of SW jobs without taking these courses. You just need a bit of dedicated instruction for it.
And while linear algebra is crazy important for some disciplines, it's simply not needed for over 90% of SW careers.
And I do think a good understanding of statistics and probability can really help you, I also see that most CS majors take this course and have forgotten almost everything they learn in it by the time they graduate. I think some parts of the SW industry are such where you really would benefit from it - roughly 25%. I also think that percentage will increase with time, so I would encourage everyone to learn it - degree or trade school.
Don't get me wrong. I spent over a decade in university doing math heavy stuff. I love it. I can also say from my experience in industry is that very little of this differentiates good from poor performers. Or rather, the main factor is motivation and internal drive. Those who have it learn it with or without a degree. And those who get a degree (even with a good GPA) but lack the motivation forget it ridiculously quickly. I still recall my shock in my first industry job where almost everyone had graduated with a good GPA and a top school and had forgotten most of their linear algebra, discrete math and probability within 2 years of working. And more importantly, they fought hard to avoid doing such problems.
If we were talking, say, electrical engineering (electronics/control theory/EM/communications), then I would heavily tout the degree. It's a ton more math heavy than a CS program, and it requires a lot more discipline to do that on your own, and I've not heard good experiences from trade school on those.
To add, as much as I love university... it was mostly a waste of time for me. Paradoxically, the humanities are now more interesting because I am older and seeking to understand what the fuck is reality.
I'm of the opinion we need to split school in a way where young people focus first on how to be useful, then be useful for a period of time. From here, humanities are more relevant once one has enough wealth and time to appreciate it.
> Paradoxically, the humanities are now more interesting because I am older and seeking to understand what the fuck is reality.
I’m in the same boat as you, I for myself am a former CS student now approaching 40. Up until my late 20s - early 30s I was really trying to absorb almost anything I could that was CS-related and which I reguarded as interesting (for example I used to spend time reading lambda-the-ultimate even though I had never written a compiler and most of the stuff written in there was way over my head), but since then I’ve started realizing that reality (and human interactions) is (are) a lot more complex and difficult to understand compared to anything CS-related. I have since started using some of my CS “skills” in order to further understand said “reality”, as part of some personal projects of mine.
Focusing exclusively on how to be useful to corporations or governments will cost society too much. We have to also focus on how to be useful to effect change, exemplify upstanding moral and ethical behavior, question authorities, etc. How to be good friends, good parents, good civic participants. How to express sympathy, how to understand cultures and ways of life different from our own, and we need to start this learning process early in life!
If someone doesn’t start undertaking study of the humanities until “one has enough wealth and time to appreciate it” this would be a disastrous outcome for the future of hunanity, let alone also frankly something of a wasted life for people who pursue it in that order.
Here, I mean useful period and I include carpentry in that along with car repair or dealing with the electrical box. That is, have a reasonable fallback or be at least useful to neighbors in times of need.
Linear algebra, discrete math & probability really are needed all the time.