This is all in relation to the "self taught" route, though I don't necessarily advocate it. As for the math necessary for the degree, I'm someone who has very little Math experience and have managed to start my M.Sc. in CS. With that said -- don't be me. Its not that a lot of math is required, but it helps a lot. This is true not only in mathematical ability but also the mindset it requires. Solving math problems exercises your brian in critical thinking -- a skill very necessary for programming.
Calculus, Linear Algebra, Statistics are a few domains of mathematics that will bear some relevance.
As for actual CS topics that tend to be included in core curriculum, why not just take a peek at what some good schools are doing:
https://cs.uwaterloo.ca/current/courses/course_descriptions/
I'll let you find the rest of the links.