Python has a well-earned reputation for being easy to learn and easy to work with. But that doesn’t mean would-be Python programmers don’t need help getting started, or that experienced Python programmers couldn’t use some help extending their skills. And one of the best ways to gain new Python skills—basic or advanced—is a course that walks you through the concepts and techniques in depth.
Following are five courses for learning Python, ranging from simple introductions to the language to more advanced topics. They also cover a number of common Python use cases, from machine learning to web back ends. Three of the courses are free; the others cost $39 and $49.99.
Introduction to Computer Science and Programming Using Python
This EdX course, provided by the Massachusetts Institute of Technology, is aimed at people who have no prior experience with programming. It uses Python programming as a way to introduce students to key concepts in computer science and computational problem solving. The course is intense—14 to 16 hours a week over nine weeks—but costs nothing to take. However, on completion, you can obtain a certificate for $75, which can be redeemed for academic credit at Charter Oak State College in Connecticut.
A companion course is also available, Introduction to Computational Thinking and Data Science, which covers using Python to analyze and solve common math and statistics problems, such as Monte Carlo simulations or graph optimization problems. The length, intensity, and cost of that course is the same as the first one.
Automate The Boring Stuff With Python Programming
Automate The Boring Stuff With Python is rightly regarded as a classic Python learning text. Available in print and free to read online, the book teaches Python from the ground up, using real-world projects as teaching tools along the way. The book’s author, Al Sweigart, has also created a 9 1/2 hour video course version of the text. The course is $49.99, but discounts are available, and you can preview parts of the course without purchasing. Whether you prefer working through a book, or learning by watching, or both together, Automate the Boring Stuff will have you productive in Python in no time.
Practical Python Programming
Author of the Python Cookbook and many other books and tutorials, David Beazley is one of Python’s most active contributors and creators of learning material. He has also created the Practical Python Programming course.
What makes this course stand out is its focus on giving people with prior programming experience—such as data scientists, engineers, or developers coming from other languages—specific instruction on how to make Python work for them. It skips over basic programming concepts in favor of higher level topics like organizing Python programs, making sense of the Python object model, using Python’s package management system, and debugging and testing Python code. At the same time, it assumes no prior knowledge of Python.
Beazley originally devised the course as an instructor-led effort that runs about 25 or 30 hours over the course of a week or so (including the time to complete 130 coding exercises), but you can take it at your own pace. It’s completely text-based (no video), and completely free.
Machine Learning with Python: A Practical Introduction
Machine Learning with Python: A Practical Introduction, hosted by EdX and created by IBM, is part of a larger series that revolves around data science and Python. This course concentrates on machine learning. It starts with the basic what-is, then walks you through the standard techniques—regression, classification, unsupervised learning, and recommendations—and describes how to use Python and its libraries to implement each of these.
Note that if you’re not already familiar with Python, there’s a recommended prerequisite course, Python Basics For Data Science.
The Flask Mega-Tutorial
The Flask web framework is one of Python’s most popular, powerful, and flexible packages. While Flask is simple at its core, its ecosystem ranges wide to cover most everything related to building interactive websites.
Miguel Grinberg’s Flask Mega-Tutorial is an 11-plus-hour, 23-part course that dives deep into all of this material: user interaction, forms, templates, databases, users and permissions, data pagination, date and time handling, AJAX, and much more.
The course costs $39, with a smattering of the first modules available for free as a preview, and can be completed at one’s own leisure. An ebook version of the lecture material is also available.