So, I got some choices to make. I'm about to start the last year in CS undergrad studies. I've already picked most of the courses, but I'm struggling with the following. - On one hand, I like algorithms, image processing \ vision, network & internet stuff, etc., and I want to receive comprehensive training in those areas. Possibly for future research / grad school. - On the other hand, I'm still not sure that I want to go to grad school for a CS degree. I like physics. and so I want to take as many physics-related math courses I can (No physics in my university at all), e.g. calculus related courses, to have good background for physics studies if that's what I decide (I also like calc). and even if I don't go to physics in grad school, I want to be able to learn physics on my own. Those are the options I got: Configuration I: No additional math. Computational Complexity (graduate level) Advanced Internet & Networks (graduate level) 3-D Computer Vision (graduate level) Approximation and Online Algorithms Web Programming versus Configuration III: ODE, no cc Advanced (graduate level) course in Internet & Networks 3-D Computer Vision (graduate level) Approximation and Online Algorithms (ordinary-) Differential Equations Web Programming versus Configuration II: ODE + Calculus, no algorithms, no cc Advanced Internet & Networks (graduate level) 3-D Computer Vision (graduate level) (ordinary-) Differential Equations Calculus III Web Programming versus Configuration IV: ODE + Calculus + Complex, no algorithms, no computer vision, no internet Computational Complexity (graduate level) Calculus III Differential Equations Complex Analysis Advanced Optimizations of Compilers (graduate level) [wtf, who cares about compilers?] Web Programming Machine Learning (graduate level) or <Small, easy 'general choice' course> Sorry it's so long and complicated, it somehow always ends up like that. I know there is no right or wrong here, but I'm really lost. Which configuration should I take, based on the information I have given? seems like any choice is a trade-off. any advice would be useful.