I am a second year compsci undergraduate. My program is a 4 year program, so I have 2 more years left. However, I feel that I am not motivated enough, or not satisfied with the quality of teaching in my courses, and to top it off I am slowly falling "in love" or at least beginning to profoundly like mathematics. I want to have the opportunity of becoming a mathematician (possibly retaining my knowledge in CS, too) by entering a good MSc program in mathematics in a competitive university.

In relation to my math background: I have taken analysis (single and multivariable), linear algebra, analytic geometry, graph theory and discrete mathematics, computability, axiomatic set theory. Currently I am taking a course on a mathematical introduction to logic. I am also currently a TA on Computability (we mainly cover regular languages, and context free languages, and a little bit of turnig machines in the last two weeks). I have also spoken with one of the professors here, and we have arranged weekly meetings to discuss some current research in modal logic (where I hope, I will be able to make some contribution (with the aid of my professor ofcourse) over the remaining two years of my study).

Is it realistically possible to get into a good mathematics graduate school (maybe not Ivy League, but still one that is ranked high in terms of opportunities) and will I be too far behind people who have finished BSc in maths?

Is it a better strategy to switch to a math major(possibly postponing my graduation with at least a year or two)? I'm not trying to dishonor Computer Scientists - its a super cool field, its just that the quality of my courses is low (compared to the math courses), and I'm gonna need the most math I can study if I am to become a successful researcher.