https://medium.com/@pyssion5/how-to-learn-programming-for-beginners-the-right-mindset-without-frustration-c90bd32a46c6