The world’s leading publication for data science, AI, and ML professionals.

5 Free Resources to Learn Python

A mixture of theoretical and practical resources

Photo by Element5 Digital on Unsplash.
Photo by Element5 Digital on Unsplash

Python is arguably the best programming language for Data Science. There are numerous libraries and packages that simplify and expedite the processes in the field of data science.

It would be an injustice to limit Python to only data science related tasks. Python is a popular choice for many other tasks such as web development.

Due to its popularity, there is a ton of resources to learn Python. One can list more than 100 resources in the form of books, coding practices, videos, and MOOC courses.

Having too many choices is not always good. It makes it hard to decide which one to start with. Thus, in this article, I will give a concise list of 5 resources. I think these resources will get you to an intermediate level.

I have picked the resources with regards to both theoretical knowledge and practical skills. It is not enough to master the syntax in order to develop and build decent software products. You also need to have a sense of computational thinking and algorithms.

This list of 5 resources will get you familiar with the concepts like computational thinking, data structures and algorithms, abstractions, and programming efficiency. You will also have a chance to practice lots of coding exercises. Thus, you will both understand how something works and be able to make it work.

Let’s start.


1. Introduction to Computer Science and Programming in Python

This is an MIT course recorded and posted on youtube. It contains 12 lectures.

This course provides an excellent introduction to computational thinking and programming. Some fundamental algorithms are clearly explained such as searching and sorting. The concept of object-oriented programming is also very well explained in this course.

On the practical and coding side, you will get to learn loops and branching, data types, functions, and classes.

Last but not least, Professor Grimson spends 2 entire lectures explaining programming efficiency which I think is the most important part of designing and implementing algorithms.


2. Introduction to Computational Thinking and Data Science

This one is the continuation of the first course. It contains 15 lectures.

The first two lectures are focused on optimization problems. Optimization is at the core of any Machine Learning because the models try to optimize a loss function based on some constraints. Having decent theoretical knowledge will definitely be helpful for the practical side as well.

This course is more focused on machine learning and data science related topics. For instance, classification and clustering are explained very clearly.

It also provides a great introduction to statistical concepts that are essential to know for data science practitioners.


3. Calmcode.io

This website provides short video tutorials that are grouped into categories. There are currently 428 videos in 59 categories.

The examples in the videos are well structured and clearly explained. Grouping videos under main categories allows to gradually build up the skills.

For instance, there is a video series on args and kwargs. Another category contains videos on comprehensions. Each category can be considered as a separate course.

Another advantage of having this structure is that you can easily select the topics you need to learn.


4. Pythonprogramming.net

This is another one on the practical side. It was created by Harrison Kinsley who also created the youtube channel "Sentdex".

What I like about his tutorials is the way he tackles down problems and explains the concepts.

His tutorials are not only focused on data science topics but also on general Programming tasks such as web development and game development.


5. Python Data Science Handbook

This one is a free ebook written by Jake VanderPlas. It is a highly practical book and contains lots of code examples.

As the name suggests, it is focused on data science with Python. The book provides a thorough introduction to the most commonly used data science libraries for Python.

  • NumPy: Scientific computing
  • Pandas: Data analysis and manipulation
  • Matplotlib: Data visualization
  • Scikit-learn: Machine learning

The machine learning section of the book also explains the logic behind the algorithms.

The sections contain both simple and more advanced coding examples. Although it is an introductory book, it challenges you to a certain extent which I think is very important in learning.


Conclusion

There are many more free resources available to learn Python or data science topics. I could have listed more than a hundred of them. However, it would be demotivating in a sense.

Having too many resources could make a topic look more difficult than it actually is. This is the reason why I wanted to create a concise and thorough list.

I also wanted to make the list a mixture of both theoretical and practical resources because both are highly important in order to build a comprehensive skill set.

Finally, I want to point out that there might be better resources out there. Please let me know if you have any suggestions or feedback.

Thank you for reading.


Related Articles