The most basic ROS tutorials don't really require any specific knowledge about C++/Python or Ubuntu Linux, but familiarity with Ubuntu Linux at least is highly recommended. To complete the tutorials you really only need to know how to open the terminal in Ubuntu and follow instructions:
https://wiki.ros.org/ROS/Tutorials#Co...
Going beyond the tutorials and even understanding what they're teaching will require more knowledge of Python and/or C++/CMake.
I also recommend reading the conceptual overview, or at least going back to it frequently to help you understand the core concepts:
https://wiki.ros.org/ROS/Introduction
As for which version of ROS to use, please see:
https://wiki.ros.org/Distributions#Wh...