The Math Really Required in Computer Science
The answer is, of course, "it depends". So let's look at some sub-areas of computer science and software engineering, and see what math is required in each.
Feel free to edit this like mad; this is just a sketch so far....
Programming LanguagesSuppose you are studying and/or designing computer languages.
Discrete functions play a central role. Notions like transitivity and commutativity. Induction is a critical reasoning method, and it is also used in definitions of programming languages. Things like basic set theory are also important; the sets tend to be countable.
Human-Computer InteractionA knowledge of statistics is important, in order to set up good experiments and to interpret results correctly.
Software TestingIt depends.... Most software testing probably doesn't require any math at all. Particular methods of testing might require very sophisticated maths.
Formal MethodsProgramming using formal methods ensures that the resultant program is more likely to be correct. Formal methods may well be the standard way to program in the not-too-distant future. Or maybe not.
Users of such systems need to be able to manipulate complex statements in formal logic, and to be able to help put together formal proofs. The proofs required are usually based on induction and other basic math techniques like proof by contradiction.
Numeric AnalysisSome people really do just crunch the heck out of numbers for a living. Key issues for such people are finding algorithms that converge and finding algorithms that are fast. Proving that an algorithm converges often requires calculus. An aspiring numerical analyst might get a BS in CS and take 3-4 semesters of calculus and a semester on numerical analysis; as far as I understand this still wouldn't be enough. Numeric analysists probably shouldn't be taking a standard CS or SE degree program. (Well, I've heard this kind of sentiment a lot, even though most CS people think they are just fine at number crunching. References would be useful....)
CryptographyCryptographic programs are either based on libraries made by professionals, or they have security holes in them that the serious guys can find pretty quickly. Cryptographic theory requires a lot of math theory, including number theory and
GraphicsGraphics is math-heavy. Linear algebra and high school geometry is required to get anywhere at all; calculus is required when the models are continuous, or in general when one wants to understand how the equations behind the scenes work.
NetworkingRequires calculus and probability? Help, networking people?
Summary So FarHCI is different. Moving on.
Most SE-specific areas don't require any particular math. Any math known is for the person's edification, or because they are looking for an excuse to use their math knowledge.
Most areas in CS require discrete maths: set theory, functions, relations, inductive reasoning.
Graphics and Networking are different–they seem to require continuous math like calculus and linear algebra.