For the two courses I teach at Master's level, Game Theory and Computational Social Choice, I expect students to have what is sometimes called *mathematical maturity*. Thus, if you want to take one of those courses, you should have some prior experience with working out and writing up mathematical proofs.

What does this mean in practice? That's not so easy to pin down, but to give you an impression, I can recommend Joel David Hamkins' Proof and the Art of Mathematics, a very nice book directed at undergraduates (available at the library). If you are comfortable with this kind of material, then you should be adequately prepared for my courses.

It is my ambition to make a small contribution towards preparing you for a career in research. For this reason, I put a lot of emphasis on the quality of presentation of the proofs you produce and a significant part of the feedback you will receive from us will be about this aspect (rather than purely "mechanical" aspects of producing a formally correct proof, given that we assume that you have mastered that more basic skill already). So we are looking for proofs that are short, elegant, precise (but not formalistic), insightful, and easy to understand. In my experience, this can be new and challenging (but also rewarding), even for students with a solid mathematical background.

I stress that the concrete *mathematical knowledge* required for my courses is very modest. While most of you will encounter one or two mathematical concepts they have not seen before, this almost never presents a serious hurdle.
For example, I expect that you are familiar with standard notation for sets and vectors,
that you are comfortable with using basic concepts from combinatorics (essentially "*n* factorial" and "*n* choose *k*"),
and that you have a clear idea about when it is appropriate to multiply two probabilities rather than to add them up.