Confusion in field after CS undergraduate degree Thank you for hearing me out.

I'm currently enrolled in a CS Undergrad course and will be coming out of it next year. ( 2018 ). One thing straight is I love mathematics. Anyways let's proceed with the actual confusion. I'll be coming out next year. Then what?

These are my options and I'm oscillating between them from a week. ( ..no sleep )


Go forward and get a Master degree on Computer Science specializing on computational neuroscience and vision. ( perceiving systems ). Then a PhD in Computer Vision or Computational Neuroscience, squeezing academic and industry internships. Later on join academia, research.
Go forward and get a Masters in Mathematics, PhD follows. ( in differential topology ). Post Doc work for some years and then join a top University as a faculty, teach, research.
Go forward and with Masters in Mathematics and Physics and then a PhD in String theory, ( as string theory requires a lot of math in particular group theory, category theory, differential and algebraic topology and gauge theory which I'm into and had brief exposure with particle physics as in internship( mostly was writing code and analysis in ROOT (with CERN, remotely) ( C++ ) ). Then join CERN or an University, teach, research.


Alright. Now my skills and knowledge.


Mathematics. I am proficient in engineering math ( linear algebra, calculus I, II, III, ODE, PDE, discrete math, basic statistics and probability ). Also I I have a solid grasp on introductory group theory, algebraic and differential topology, real analysis. Software side, I know Matlab well.
Physics. I know high school physics well. I also had gained knowledge of particle physics during the internship but on an introductory level. That's it.
Computer Science. : I have taken these fundamental courses during my undergrad. ( OS, compiler design, Database, C++/Java/C, Algorithms, Data Structures, basics of automata theory, optimization, computer graphics, electronics ). I am proficient in C/C++, I can manage Java.
Biology/Neuroscience: I know high school biology well. I have taken the Harvardx, MOOC ( Fundamentals of Neuroscience )
Projects and other stuff: Computer Vision: I have worked on AR UI interfaces ( and currently writing a paper on this with my classmates) and currently working on eye tracking. Computer Graphics: I have worked on fluid simulations, multigrid solvers and image synthesis techniques ( PBR ), raytracing. Apart from this I used to code competitively and had gone to zonal ACM-ICPC level but now I have sort of lost the touch of it.


I want to go into academia. ( maybe research R&amp;D departments of companies for a short time just a have a dip into the industry. ) Thank you.
You've mentioned postgraduate degrees in Computer Science, Mathematics, and Mathematics &amp; Physics, and PhDs in Computer Vision, Computational Neuroscience, Mathematics, and Mathematics &amp; Physics. I recommend that you study a postgraduate degree which maximises your options onto a PhD. Since you already have an undergraduate degree in Computer Science, that probably means that a postgraduate degree in Mathematics or Mathematics &amp; Physics is the best fit.