So I am currently a sophomore majoring in Computer Science. In the Data Structures course that I am currently studying, I studied the basics of complexity of a program and big O-notation, etc. That got me interested in complexity theory and maybe pursuing TCS later on.
I have always had a great interest in mathematics and although I chose not to major in it (The math department at my university is not very good), I still plan to take some courses like Analysis, Abstract Algebra etc. (I have already taken Discrete Mathematics). Initially, I started as a physics major so I have also taken two Quantum Mechanics courses.
I was just wondering if graduate admissions in TCS require a minor or major in mathematics or just some specific courses. Because, as far as my mathematical knowledge/skill is concerned, I think I have a strong background since I have always enjoyed solving problems involving proofs (although maybe not very formal ones) and sometimes just solving questions as a hobby.
Which courses are recommended to take if I want to maybe go into TCS later? Considering that I have 2 years left for my undergrad. Also, what are other possible sub-fields in TCS that I could consider?
The math/phy courses I have already taken are: LA, Calc 1 and 2, Discrete math, QM 1 and 2, Probability.