"Computer programmers" is a bit broad, and I think the answer to this question depends on what exactly your university teaches in its own CS or Software Engineering department but doesn't technically label "math".

One thing to keep in mind is that Computer Science (and by extension anything in programming that's not engineering best practices, code organization, and such) *is* math, in that the theory of computation is in large part a formalization of *how* we do math.

I'd say that by far the most important thing that any programmer can be expected to know are under the discrete math banner. Graph theory (esp. trees and graph search), set theory, and formal logic (mostly propositional or first order) are backbones of programming. Going deeper, automata theory is important as well, but not as integral. **However**, it's likely that these topics are covered in the CS department already. If it's not, they're excellent candidates.

Another thing that's important is asympototic analysis, mostly in the form of Big O, Big Omega, and Big Theta. Again, this is usually introduced in a required CS course, but not necessarily. This is important enough to know that it tends to come up on interviews for software engineering positions. The ability to find the asymptotic behavior of recursive functions is also important, and less taught than the ability to do it for iterative processes (which are often trivially converted into polynomials). Obviously you only need to focus on more trivial recursive functions, proving a function's asymptotic behavior can be legitimately difficult and is very expansive, but single-variable recursion that can be solved with the "find the pattern" variety of problem solving is pretty good to teach. Finding the behavior of stuff like $M(1)=1;$ $M(n) = M(\lfloor\frac{1}{2}n\rfloor) + M(\lceil\frac{1}{2}n\rceil) + 2n + c;$ $n \in \mathbb{Z}^{1+};c\in \mathbb{Z}^{0+}$ can be immensely useful.

Then you start getting into the nitty gritty: statistics, regression, calculus, probability, and such are all very important, but only to certain subfields or people planning on going deeper into "CS" territory than "programming the front page of a comedy website". Being able to work with big data tends to require a lot of probability calculus (as does any machine learning). These skills are very in demand right now, but I'm not sure if you can cover enough to give the foundation in a single survey course. I mean, you're just plain not going to get to meaningfully explain gradients to anyone if you're going for reasonable breadth and replacing basic calculus.

Likewise linear algebra, which is important in computer graphics and computational geometry. You can find a good survey of the kind of math used in graphics by looking at any good [Open GL tutorial, here's one for reference][1]. It's mostly basic 2D and 3D matrix math and a tiny bit of quaternions, but even things like understanding what a basis is, whether a matrix is singular, or how to do an orthographic projection is very useful. Again, though, this may be covered in the university's computer graphics course. Granted if you put this in the course it could significantly lower the load on teaching this math in graphics and allow time for more advanced topics.

Combinatorics is also useful, if only because being able to count the number of unique password combinations of $n$ characters is useful. Cryptography is also traditionally a mathematical field, and is useful for all sorts of reasons, but may be a *taaad* advanced for a low level survey course.

Finally, as vonbrand pointed out, whichever combination of these you choose, formal instruction in proofs is very important. It can be done for any or all of these, and the merits of proving correctness is immense, even if they never "formally" do it again. Proofs also tend to introduce the ability to clearly express mathematical thoughts in words, even if those words are still surrounded by notation. That's a skill that isn't always valued highly enough.

Overall, there's a lot of useful math. The most useful is by far discrete, but the other math can be extremely useful to know depending on what the department already covers, what it wishes it didn't have to cover, and what sort of electives and specializations they offer.


  [1]: http://www.opengl-tutorial.org/