<p>Computer science is mathematically-intensive because CS is, effectively, a branch of math. I’m taking a cs course right now that has NO programming, it’s all math. Trees, graphs, algorithm analysis (better be good with logarithms and exponents!), sets, first-order logic, recurrence relations, etc.</p>
<p>But CS also has its applied side, which is where programming comes in. At a good university, you could concentrate on either a more theoretical, mathematical route or a more practical route, but every CS major needs the fundamentals.</p>
<p>There are theoretical areas of CS that I have no interest in, as well as practical areas I have no interest in. CS is a huge field and you don’t need to be a particular “type” to enjoy it. I have no interest in network-related stuff (I just got my first smartphone and I don’t even know what 3G or 4G means), and taking a class in assembly probably killed off my interest in the low-level goings on of a system (stacks, fetch/execute, floating point rep, etc.), and I couldn’t care less about databases. Studying formal language stuff made me snore. Those things were worth learning and I’m glad I studied them, but I am actually interested in computer graphics and numerical methods/physics simulations, and games. I know some CS people who, believe it or not, have almost no gaming experience, or have never used Linux/UNIX, and I’m talking about young people, not old professors. So everybody comes to CS from a somewhat different angle.</p>
<p>Much as it grinds my gears, there is room in CS for Mac people, people who are strictly interested in the theoretical side of things, people who hate games, people who love Microsoft, people who love Stallman, people who hate/love C, people who hate/love <language x="">, people who hate/love OOP/functional programming/open source/proprietary/etc.</language></p>
<p>A love of computers and computing and a willingness to learn the fundamentals is all you need.</p>