https://medium.com/young-independent/a-step-by-step-guide-to-learning-artificial-intelligence-b256291a4eba