3 ms·
Yeah in my experience (both personal and from interviewing people), you end up getting a poor introduction to both (at least at the undergraduate level) since i
by tolmasky 15y ago
Yeah in my experience (both personal and from interviewing people), you end up getting a poor introduction to both (at least at the undergraduate level) since in many universities the major can't decide which it wants to be. You have cases where people know of NP (but have never done a reduction), and simultaneously know of version control (but have never actually used svn or git). This is really unfortunate because I feel similar majors (like math and EE) probably prepare you better for these fields (math perhaps being a better precursor to real CS and EE giving you great fundamentals for programming/comp engineering). It seems more and more like there needs to be a clearer separation, something like how econ or finance is separate from math, where math majors don't really have to learn excel or financial formulas, and econ/finance majors don't have to learn linear algebra, and both can go pretty deeply into the things they actually care about.
The counter argument to this is that we often see computer engineers that lack a basic grasp of the importance of algorithmic complexity and theoretical folks who write terrible code. You have only to read some discussions on "JS performance" to see the ridiculous attention paid to making sure variables are local, when in almost all cases user programs are actually being slowed down by O(n^2) algorithms being used. Similarly, a lot of theoretical work takes a long time to make it into the "real world" because they are inaccessible to engineers (being written completely "in math"), and often when they do provide actual sample code for their work its written in a very sloppy way (from a "code organization" standpoint). It really would be ideal if you could have a major that covered both of these really well (and I'm sure there exist some that do, I obviously have not gone through every CS/CECS/EECS major in every university).