The MOOC way to learn Python and Data Science:

Learn Python

Learn Probability

Learn Linear Algebra

Learn Algorithms and Data structures
MIT OCW
* [Introduction to Algorithms](https://ocw.mit.edu/courses/electricalengineeringandcomputerscience/6006introductiontoalgorithmsfall2011/)
* [Design and Analysis of Algorithms](https://ocw.mit.edu/courses/electricalengineeringandcomputerscience/6046jdesignandanalysisofalgorithmsspring2015/)
Robert Sedgewick, Princeton
* [Algorithms, Part I](https://www.coursera.org/learn/introductiontoalgorithms)
* [Algorithms, Part II](https://www.coursera.org/learn/javadatastructuresalgorithms2)
Tim Roughgarden, Stanford
*[Algorithms: Design and Analysis, Part 1](https://www.coursera.org/learn/algorithmdesignanalysis)
*[Algorithms: Design and Analysis, Part 2](https://www.coursera.org/learn/algorithmdesignanalysis2)

Machine Learning
Note: All the courses using Python as medium of Instruction, there are other courses that use R language, which is certainly useful for Data analysis. There are courses offered by Coursera and Udacity related to Data science, which you should check out too. I just sampled courses that i think are good starting point to learn Data science. Also, the recommended way is to go topdown in the orde specified. There are still so many things to learn to become a data scientist such as machine learning, data visualization etc. (which i would fill out later). The courses on Linear Algebra use MATLAB (proprietary). But still we can use Octave, an open source alternative to MATLAB for learning the content in course. The Math part consists of Probability, Statistics, Linear Algebra and Machine Learning. The Computer science part consists of Python and Algorithms