OK, so I am a ROS fan and have worked on several ROS-based projects both for hobby and for hire. Be aware that ROS has a non-trivial learning curve. I guess I would say that if you are learning robotics, ROS is where you want to end up, but not necessarily where you want to start.
But when starting with ROS, be aware that: 1) ROS 2 is still under heavy development. We have not yet reached the promised land, no commercial ROS companies that I know (and I know a bunch) have switched over yet. 2) While there is a lot of documentation and tutorials for ROS to be found, it is very easy to get tangled up in documentation for the wrong release. Sounds basic, I know, but really, if you are working with Melodic and snag into a tutorial for Jade, errrf, it can be frustrating for a beginner until you realize your PEBKAC.
So for ROS, definitely start with the simulator, and work through the tutorials. Melodic is the current long-term-support release of ROS. After doing the turtlebot tutorials from ROS.org, you can get other simulated robots, like the Fetch model for a mobile manipulator, or for arms the Moveit! ROS package has a nice tutorial based around a simulated Puma.
But I don't think you need to start with ROS. A lot can be learned by starting with something much simpler. Get your hands dirty and build something simple, anything really. Something I have seen many times at the Homebrew Robotics club is some smart guy from Facebook or Google or similar with an MSCS will walk in and tell us all about the great robot he plans to build. The 12 year old kids with two or three Arduino-and-popsickle-stick robots under their belt are thinking (usually not saying) "Talk is cheap, show us a working robot." Robots are humbling.
So for parts, in addition to SparkFun and Adafruit for various motor controller and other widgets, also look at Pololu.com for robot parts. Their Romi chassis has a lot going for it as a beginner kit. A good challenge might be to add some sensors and see if you can get one to simply explore the top of a table without falling off. Not as easy as it sounds. Brings new meaning to the phrase "corner cases".
Books: An oldie but goodie that gives serious beginners a good overview is "Behavior Based Robotics" by Ron Arkin. A little more intense: "Probabilistic Robotics", Thrun/Burgard/Fox.
And my favorite piece of advice to all robot beginners: Your first robot should have low enough mass that a missing semicolon does not put a hole the the wallboard of your living room. (I recently worked on a 1000lb mobile robot with 1000lb payload capacity. Several of us spent a loooong time designing/tweaking the E-Stop circuit. Make your newbie mistakes on something smaller :)