Learning a new skill is a challenge, and with data science, it’s no different. We live in a fast-paced world, with an abundance of online resources on any topic, both paid and free, and it’s perfectly normal to feel lost with this plethora of options. Furthermore, it’s not always easy to find good resources online. There is a lot of poor-quality content that is not worth your time and money.

When I was beginning my studies a few years ago, I spent some time planning my path, looking for course reviews, recommended curricula, and articles (like this one!). In my opinion, it is crucial to invest some time outlining an overall study plan, thus avoiding jeopardizing your progress. This initial effort will be worth it.

In this brief article, I will share the resources that helped me the most when I was starting. They are mainly online courses and websites that will help you improve your Python programming and math skills. And they are all free!

Before moving on, please keep in mind that each individual is at a point on the learning curve, depending on their background and previous experiences. For instance, since I have a degree in economics, I had prior knowledge of statistics and econometrics that came in handy. On the other hand, I had no programming experience and had to start basically from scratch. Remember, these are skills that take practice, patience, and time to learn.

Developing your coding skills

If you have no programming experience, it might be a good idea to break the ice with an introductory Python course. Although many languages can be used in data science, I chose to learn Python, as it is widely used, has a ton of great libraries designed for data science, and, on top of that, it is beginner-friendly.

There is an insane amount of free Python courses online, and, as a beginner, I believe most of them will teach you the basics. Still, I’ll recommend the first tutorial I’ve watched back then.

freeCodeCamp YouTube channel

To start, you can check out the Full Python Tutorial for Beginners, from the freeCodeCamp.org YouTube channel.

In about 4.5 hours, you’ll have a look at the basics, such as data types, variables, if statements, loops, etc. It can be a lot to absorb in one go, but you can always come back and watch any section again. Besides, freeCodeCamp.org is a reputable website, with plenty of free tutorials.

After this kick-start, you should be able to delve deeper into each concept as you need to.

Real Python

Real Python has been here for a decade now and it is one of the largest Python communities out there. Counting with a qualified team, they have thousands of great articles, tutorials, and video lessons covering any topic you can imagine. It’s one of the websites I always visit when I need to take a closer look at some specific concept.

Official Python Documentation

When talking about the best resources for learning Python, I have to mention the official documentation. It might seem a little confusing for a beginner, but as you progress, you’ll start to understand it and it will become one of your best sources of information.

Besides, it is the most reliable Python documentation you can find!

Harvard CS50

As an extra, I encourage you to take a look, at some point, at edX CS50 Introduction to Computer Science. If you don’t know what CS50 is, it’s a Harvard entry-level computer science course held both on-campus and online, led by the amazing professor David Malan.

CS50 is not aimed at data science, but for those who have never coded before, it offers a top-notch understanding of computer science and programming. You’ll look at several different languages, including C, Python, Javascript, and SQL. In the end, you’ll have the opportunity to make a final programming project, choosing a specific language and topic.

When I took CS50, I had already been coding in Python for a few months, but this course boosted my understanding of computer science.

Data Science Courses

After you break the ice with Python, you should start looking for data science oriented materials. Here, I present you to Kaggle, an amazing machine learning and data science community, with tutorials and thousands of data sets for you to train on.

Sample of Kaggle courses

Kaggle offers some short courses on several topics, such as Python, Pandas, SQL, Machine Learning, Data Visualization, etc. The good thing is that each course takes only a few hours to complete, and you’ll begin to get familiar with the Kaggle environment.

IBM Data Science Professional Certificate

Coursera’s IBM Data Science Professional Certificate is a great entry-level data science program. It covers the main subjects for a beginner and it is way more robust than the Kaggle tutorials. In the end, you’ll do a capstone project, based on the topics covered in the course.

Note: This was the first DS course I took, at a time when I still didn’t know much about Kaggle. It was quite tough! It took me about 6 months to complete it at a moderate pace (mostly using my break time at work). In my opinion, the Kaggle courses are more friendly for beginners. If I had to start over, I would probably take some of the Kaggle courses before enrolling on the IBM Certification.

Machine Learning by Stanford

I couldn’t leave out of this list the iconic Machine Learning by Stanford, available on Coursera, and taught by the renowned professor Andrew Ng, one of the world’s most notorious AI experts.

This program is a little bit more complex than the ones I mentioned above, and I wouldn’t recommend it as your first data science course. It will introduce you to important concepts in building machine learning models, covering techniques for Supervised and Unsupervised Learning, Neural Networks, etc.

One interesting fact about this course is that it isn’t taught in Python, instead, you can choose between Octave and Matlab (I took it in Octave since it’s free). However, the fact that you’re not using Python won’t hurt the experience, considering that the course focuses more on the theory behind machine learning than on coding. Moreover, Andrew explains everything very clearly.

Improving your math and statistics skills

As I have a background in statistics, I didn’t have much trouble with it, but if you feel you are getting stuck at some point in the courses because of mathematical or statistical theory, you should definitely take a look at Khan Academy. They have a ton of tutorials and quizzes to help you achieve your goals in many subjects.

Khan Academy

In addition to being completely free (Khan Academy is a non-profit organization), they make the learning process seem fun, with badges and achievements to be pursued as you progress.

Extra: Coding Practice

Especially for those of you that don’t have a computer science background, and will need to develop coding skills alongside the other skills needed for data science, I recommend two websites I use: HackerRank and Codewars.


These websites help you improve your programming skills with coding challenges. The good thing is that you can start training from day one, with really simple tasks, as these sites are suited for both beginners and experienced programmers.



I hope you can benefit from the tips I shared here! Of course, there are many other great resources out there to help your studies. These are just suggestions based on my experience and what worked best for me over the past two years.

The resources presented in this article should not necessarily be followed in chronological order. In fact, most of these skills are complementary for a data scientist. For instance, you shouldn’t stop your coding practice when you start taking Andrew Ng’s course.

In addition to all these resources, remember that Google and Stack Overflow are your best friends! Any question you have, just search it on google and you’ll probably find a Stack Overflow topic covering it.

Remember that it’s absolutely normal to get stuck and feel frustrated from time to time, it’s part of the game. Just keep pushing and we’ll get there!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store