In reply to gethin_allen:
I have spent much of the last few months trying to get better at Data Science/Analytics/Machine Learning etc, mostly using R and the various products of R Studio. Now I'm also learning Python, motivated initially by it being the scripting language in ArcGis, and I do wonder what the relative advantages/disadvantages are of the two languages for analytics purposes.
I have used MOOCs for all this.
For R I did The Analytics Edge from MIT/EDx, which was great, and the Data Science Specialization from Johns Hopkins University on Coursera - just doing the last course now. Very searching and wide ranging. Worth doing but expect to work hard. You do a LOT of R and you use Git/GitHub.
For Python I did the ridiculously easy but entertaining Programming for Everybody from Michigan University on Coursera, taught by the estimable Charles Severance, and now I am doing MITx600 Introduction to Computer Science and Programming Using Python, which is a whole lot more challenging and time consuming than the Michigan course, but also very grounded in computer science fundamentals, which is what I wanted.
All the Python courses I have come across use 2.7, but it can't be that hard to switch to 3.x if need be once one has grasped how programming, in any language, works.
Good luck!