Without sounding elitist I think number 3 is a big one. If you once learn how, writing decently performing software is often straightforward without taking any extra labour.
I wanted to affirm point 3 as well. There's a science in "computer science" that lays dome foundations.
Every month or so there's a thread here asking if college is worth it. Answers are typically mixed, depending on lived experience.
My own lived experience (I could program before I went to college) is that we didn't (especially) learn "programming". We learnt about fundamentals like algorithms, P vs NP, coupling, 3rd normal form, and so on. That affected our programming, but we didn't have "programming classes" (well except the first 3 weeks or so.)
I feel, looking back, that this served me well in the niche I traveled. My day job is basically writing performant libraries.
BUT I'm not in the camp of "computer science for all." There are other degrees at college, in programming, IS, IT and so on. There are lots of shorter courses that can train you up to get a job.
Every month or so there's a thread here asking if college is worth it. Answers are typically mixed, depending on lived experience.
My own lived experience (I could program before I went to college) is that we didn't (especially) learn "programming". We learnt about fundamentals like algorithms, P vs NP, coupling, 3rd normal form, and so on. That affected our programming, but we didn't have "programming classes" (well except the first 3 weeks or so.)
I feel, looking back, that this served me well in the niche I traveled. My day job is basically writing performant libraries.
BUT I'm not in the camp of "computer science for all." There are other degrees at college, in programming, IS, IT and so on. There are lots of shorter courses that can train you up to get a job.