Just as having a fundamental understanding of math and stats is important, having a fundamental understanding of programming will make your life much easier, especially when it comes to implementation. Therefore, I recommend that you take the time to learn basic SQL and Python before diving into machine learning algorithms.
It’s entirely up to you whether you want to learn Python or SQL first, but if you were to ask me, I’d start with SQL. Why? It’s easier to learn and it’s useful to know if you work for a company that works with data, EVEN if you’re not a data scientist.
If you’re completely new to SQL, I recommend going through Mode’s SQL tutorials, as it’s very succinct and thorough. If you want to learn more advanced concepts, I would check out my list of resources where you can learn advanced SQL.
More importantly, below are a handful of resources that you can use to practice SQL.
I started with Python, and I’ll probably stick with Python for the rest of my life. It’s so far ahead in terms of open source contributions, and it’s straightforward to learn. Feel free to go with R if you want, but I have no opinions or advice to provide regarding R.
Personally, I found that learning Python by ‘doing’ is much more helpful. That being said, after going through several Python crash courses, I found this one to be the most comprehensive (and it’s free!).
Arguably the most important library to know in Python is Pandas, which is specifically meant for data manipulation and analysis.
Below are two resources that should ramp you up pretty quickly. The first link is a tutorial on how to use Pandas and the second link provides dozens and dozens of practice problems that you can use to solidify your learnings!