Hi, I am a math major student. I am interested in the theory of computer science and I would like to go to this direction in graduate school. So I need some advice about what courses of computer science I should do, and what courses of mathematics I can ignore. My program has a lot of freedom with choosing courses, in my opinion too much, but this is the program. I would also like to know what are the critical courses that any mathematician should do, no matter what specialization they choose. Thank you.