whpearson comments on On the Fence? Major in CS - Less Wrong
You are viewing a comment permalink. View the original post to see all comments and the full post content.
You are viewing a comment permalink. View the original post to see all comments and the full post content.
Comments (57)
I can't really point to anything I learned while getting my CS degree that was particularly instrumental to being able to "really program", and for that matter I don't think I could "really program" until some time after I had graduated. Practice counts for a lot here, especially considering how ungrounded and unreliable the current pedagogy of "software engineering" is. Practice and perfectionism did much more for me as a programmer than any course I took in college.
From my vantage point as a CS grad who maybe wishes he majored in math, physics, or chemistry instead, it looks to me like you're getting the best of both worlds. CS programs tend to be very focused on producing capable programmers, but programming is largely an operational set of knowledge that can't yet be reliably taught in a classroom. My wife is currently pursuing a chemistry degree, and I'm downright jealous of the information density in her courses compared to mine. CS pedagogy is simply immature compared to older fields, full of conflicting opinion, heuristics, and transient industry buzzwords. An exercise: Ask three randomly chosen CS majors what object-orientation is and why it's so great, and compare their answers.
I'm waffling on the regret because the degree did lead directly to an enjoyable, well-paying job. But most of the time I spent in CS classes feels wasted in comparison to the maturity and density of math and science classes.
Programming is maths in a way. As evidence I give you the Curry-Howard Correspondence
I really wish my CS degree had included type theory and Coq and the like.