How to go from novice to expert in compters
Like the title says, I'm interested in computer science. The only thing that I know of computers are how they work mathematically and electronically. (but only very basic) I know the principle of how transistors work (quantum mechanically) and I'm familiar with some aspects of discrete mathematical structures such as propositional logic, truth tables, Markov chains, etc. (well Markov chains fall more under applied probability theory)
I'm a theoretical physicist and a mathematician (well, those are my majors when I start college this fall) and I need more efficient ways to model and simulate phenomena so I think that I'll just learn as much about computer design and programming as possible. How do I go about doing this from the most basic undergrad level to the most advanced level? If possible, can you write it in a format similar to the one below:
Math
Arithmetic ---> Basic algebra --> trigonometry and analytic geometry --> single variable calculus (differential and integral) --> discrete structures/ linear algebra/ multivariable calculus/ ordinary differential equations --> real and complex analysis --> functional analysis/ partial differential equations/ topology --> differential geometry/tensor calculus/ more abstract algebras