I'm a freshman in electrical engineering and have always interested in mathematics and researching. But I came to realize by the time I learn EE that it doesn't involve much math as I expected (something abstract like algebra or topology, not the same computational kind as calculus). I feel that EE is not motivated enough to commit my life to. I enjoyed learning Computer Science in my free time and found that Theoretical Computer Science fit me perfectly. Therefore I want to pursue higher education in this field. I intend to minor in Computer Science.
What can I do to prepare myself for this path? Which courses should I take and which books should I read to go ahead in this field? Is there any field in EE that have a close relation to Theoretical Computer Science (or abstract mathematics)? And should I get a MSc in Math or Computer Science after BSc in EE?