MIT 6.0001 Introduction to Computer Science and Programming in Python from MIT OCW:
https://www.youtube.com/playlist?list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNAYou can look for other courses in computer science here:
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/Think Python: How to Think Like a Computer Scientist:
http://www.greenteapress.com/thinkpython/html/index.htmla lot of people that code and work with data science are using jupyter notebooks, you can download anaconda package and it come included with it:
https://www.anaconda.com/download/#linuxif you want to browse some notebooks just look in anaconda's website:
https://anaconda.org/just type what youre looking for in the search bar
if you want some more good resources written using jupyter notebooks just look here:
https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooksmy favorite of the resources above is this book written entirely in jupyter notebooks and available online for free:
https://jakevdp.github.io/PythonDataScienceHandbook/if you want to look for some articles:
https://hackernoon.com/the best way to learn is to actually code some shit, preferably some thing that will be useful in real world, every time you get stuck with something just look at stackexchange
other thing to put in mind is to focus in the process, not in your goal
if you keep dreaming about all the marvelous stuff youre doing and how it is going to be beautiful youll lose your focus and wont do shit
always focus in what youre doing know and proceed to do it step by step
the most important thing to learn are basic concepts, once you really understand the basic shit in programming to learn new things and learning new programming languages becomes quite easy
i think thats it