in reply to (OT) Should math (or adv. math) be required in CIS degrees?
Math is the basis of much of the CS out there. Many schools seem to think that CIS students don't need much math because they are just going to be analysts and designers anyway. The problem is that much of the logic and problem solving skills needed for higher level math (Discrete, Abrstract Algebra, etc.) are a necessity for programmers.
Being a programmer that has been doing a lot of refactoring before there was such a thing, one of the first things I always look at is long "if-else if" statements. I can't believe the number of times that I've gone through a long "if-else if" only to find that the last several conditions would never be reached. DeMorgan's Laws are also a necessity that I see people messing up all the time at work that I learned in the first week of Discrete Math.
If I would make a recommendation to any programmer, it would be to take more math. I think that it is a bigger help than any other courses you could take.