Electrical Engineering freshman want to pursue PhD in Theoretical Computer Science
As Buffy commented, I would consider changing majors.

With that in my mind I can offer the following:

IMO the best place to start with theoretical computer science is with understanding the theory of computation and complexity. 

Sipser has a wonderful book which is available online for free:

http://fuuu.be/polytech/INFOF408/Introduction-To-The-Theory-Of-Computation-Michael-Sipser.pdf

I would also recommend reading a book about discrete mathematics - specifically one that deals with graph theory. For an interesting, more modern connection between mathematics and computer science you can take a look at Expander graphs, which have applications in networking, and see whether the flavour of these notions is appealing to you.