The MOOC way to learn Python and Data Science:
  
  1. 	**Learn Python**
  
  	* [Introduction to Computer Science and Programming Using Python](https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-8)
      * [Introduction to Computational Thinking and Data Science](https://www.edx.org/course/introduction-computational-thinking-data-mitx-6-00-2x-4)
      * [Using Python for Research](https://www.edx.org/course/using-python-research-harvardx-ph526x)
      
  
  2. **Learn Probability**
  	
      * [Introduction to Probability - The Science of Uncertainty](https://www.edx.org/course/introduction-probability-science-mitx-6-041x-1)
      
  
  3. **Learn Linear Algebra**
  
  	* [Linear Algebra - Foundations to Frontiers](https://www.edx.org/course/linear-algebra-foundations-frontiers-utaustinx-ut-5-04x)
  	* [Applications of Linear Algebra Part 1](https://www.edx.org/course/applications-linear-algebra-part-1-davidsonx-d003x-1)
      * [Applications of Linear Algebra Part 2](https://www.edx.org/course/applications-linear-algebra-part-2-davidsonx-d003x-2)
      
  
  4. **Learn Algorithms and Data structures**
  
  	* [Introduction to Algorithms](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)
      * [Design and Analysis of Algorithms](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/)
  
  5. **Machine Learning**
  
  	* [Computational Probability and Inference](https://www.edx.org/course/computational-probability-inference-mitx-6-008-1x#!)
      
  
  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 top-down 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)
+ 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.