$\begingroup$

I think the general trend is that computer science initially was a subfield of mathematics, and has grown more and more apart from mathematics, to the point that there are universities that offer computer science programs without any math courses at all, my home university being one of them.

As a side note, I think this development is very bad, as programming an sich doesn't seem to be much of a science to me (programming websites and apps is very cool but I just wouldn't classify it as a science). I would argue that the university should not offer such programs. I think that computer science is more of a subfield of math than the other way around, which is why I might give you an overload of topics here ;)

The topics that you include should obviously depend on the rest of the curriculum. Of course, it's impossible to cover any of this topics comprehensively, but you should identify the elements that are important in the other courses that are offered and make the students comfortable with the ideas and math (with 'math', I mean the kind of deductions and/or calculations that are commonly done in this field).

This list probably differs from what professional programmers would say. A financial programmer would probably focus on probability, a game programmer on linear algebra (and maybe calculus), a cryptographer on number theory and information theory, and I can go on for a while.

I tried to order the list extremely loosely in order of $ \frac{\text{usefulness}}{\text{difficulty}} $

General skills

These are very important and not hard to learn. One of many possible uses is in algorithm analysis, where students are expected to do calculations with fractions, powers and logarithms. To my surprise, many of the computer science students had trouble with this (but of course, not everyone has the same background in math, so maybe you should do an extra section for the people that need extra practice with the basic math skills, just to not bother the students that have a sound knowledge with stuff that is way too easy for them). You can also fit things like proving something with induction in here and maybe more advanced skills such as finding a solution for a recurrent equation (just because they don't fit in anywhere else).

Asymptotics

Big O and it's friends are used in most courses about algorithmics, and limits provide a sound way to reason and provide rigor in calculus.

Graph theory

Graph theory is a very hot topic in computer science (and it will probably stay to be that way for a few decades). There is a large amount of algorithms important for computer science (this becomes very interesting if you combine it with probability: this way you can do stuff like facebooks friend suggestions), but in one course I would just focus on a few elementary algorithms (maybe something with node coloring or min/max cut, tree searches and a little bit on parallel algorithms).

Linear algebra

Extensively used in graphics and just a basic skill that comes in handy when doing anything geometric.

Combinatorics

Combinatorics pop up in a lot of places in algorithmics. For one course I would give some example of combinatoric proofs, and teach some basic stuff about binomial coefficients. Generating functions are very useful IMO, but probably way out of scope.

Probabililty

Probabilty is another topic that pops up all over the place. There is a lot you can cover as well. You can combine discrete probability with combinatorics and continuous probability with calculus.

Calculus

Students should be able to have a grasp of differential and integral calculus. In my country, this is mostly high school stuff, but high schools are of varying quality and there is some new stuff as well (partial integration, integration by substitution).

Number theory

Some basic number theory is used for encryption and sometimes comes in handy while analyzing algorithms. Basic topics are greatest common divisors, smallest common multiples, modular arithmetic...

Differential equations

Needed for simulation of real-world phenomenons. Programmers using this would be programmers working with graphics or simulations, and they would typically use finite-difference methods, as opposed to a mathematical approach.

Information theory

Used for encryption, compression and reliable transmission over noisy channels.

This maybe a little bit of a rant and it probably displays my view that for every mathematical field, you have a subfield in algorithmics (which in its turn is a part of computer science). I think that a student should have a good understanding of each of these topics to have a firm mathematical basis. In your situation it's probably a good idea to look at the courses and how many students take them, and maybe ask other professors on their opinion (for example, if there is a graphics course that has a low percentage of students that succeed, it may have to do with the amount of linear algebra, if there are no courses on cryptography or compression you can skip the number theory and information theory, etc...).

After this long list you can probably see why I think it's a bad idea to have just one (or even none) mathematics course in a computer science curriculum...