<p>aegris is absolutely right, the math in CS is unfamiliar to most people, it’s not always the algebra/pre-calc/calc type of math from high school that people think of when they think of math. Most people have never heard of graph theory or algorithm analysis or set relations, most of this “discrete math” is not taught in high schools in this country.</p>
<p>But I’d say good ol’ “traditional” math is absolutely necessary for CS grads up to the pre-calc level. Why? High school algebra and pre-calc skills go hand-in-hand with being good at thinking abstractly. Studying programming as a teen made algebra “click” for me because they are alike, it made me “get” functions to study functions in programming.</p>
<p>And a pre-calc level of math is important for algorithm analysis, you need to know how polynomials, exponentials, and logarithms behave, their properties, how to do algebra with them, etc.</p>
<p>But actual differential and integral calculus isn’t a part of CS, they only make you study it to weed out non-hackers and to bolster your algebra/mathematical abstraction skills (which as I said are important for CS). You only need differential and integral calc for CS if you’re doing software that actually requires it, like a physics or engineering simulation, or graphics, etc. Anything cool, really. It has its applications in CS, but it’s not fundamental the way discrete math or algebra or formal languages are.</p>