Hacker News new | ask | show | jobs
by grardb 2136 days ago
I majored in CS in college, and I would say there is actually easily enough room for additional, non-technical/mathematical subjects in the curriculum.

As part of my major, I was required to take: two calculus courses, two physics (or chemistry–but almost nobody did) courses, linear algebra, and two discrete math courses. I can confidently say that aside from some very basic physics from the first of the two classes, I have used absolutely none of the knowledge in any of those courses in my life, and if we are just talking about my career (mostly working on Etsy and Trello), then I haven't even used the physics. The rest, I have effectively forgotten completely.

Some of my CS electives also proved not to be that useful for much; for example, my courses on computer graphics, compilers, and operating systems. I retain some basic knowledge from those courses which sometimes come in handy for quickly understanding tangentially-related concepts, but definitely nothing to spend entire semesters on.

Of course, I'm not arguing that nobody who studies computer science should learn the things I've listed, but it seems silly to me to make them required. I took both my calculus and physics courses during my first year of college, and by my third year, I had probably forgotten almost 100% of it. In terms of my career trajectory, and even in terms of the value of knowledge/education for the sake of being knowledgable/educated, it was a complete waste of my time and money.

Often times, I wish I was able to learn a wider variety of things in college.

I think the bigger issue here is that computer science is so tightly coupled with software engineering. I hope that as time goes on, we get better at separating the disciplines in the same way that we've separated other sciences from engineering (e.g. chemistry vs chemical engineering, physics vs mechanical/civil engineering, etc.).