'ZDNET Recommends': What exactly does it mean?
ZDNET's recommendations are based on many hours of testing, research, and comparison shopping. We gather data from the best available sources, including vendor and retailer listings as well as other relevant and independent reviews sites. And we pore over customer reviews to find out what matters to real people who already own and use the products and services we’re assessing.
When you click through from our site to a retailer and buy a product or service, we may earn affiliate commissions. This helps support our work, but does not affect what we cover or how, and it does not affect the price you pay. Neither ZDNET nor the author are compensated for these independent reviews. Indeed, we follow strict guidelines that ensure our editorial content is never influenced by advertisers.
ZDNET's editorial team writes on behalf of you, our reader. Our goal is to deliver the most accurate information and the most knowledgeable advice possible in order to help you make smarter buying decisions on tech gear and a wide array of products and services. Our editors thoroughly review and fact-check every article to ensure that our content meets the highest standards. If we have made an error or published misleading information, we will correct or clarify the article. If you see inaccuracies in our content, please report the mistake via this form.
Programming language Python is undeniably a hot language to learn in 2022. It's one of the top three languages in developer analyst RedMonk's rankings, the Tiobe index, and the IEEE Spectrum ranking for electrical engineers. And that means it's in high demand by employers in tech, finance, government, healthcare, science and other sectors.
Python was hatched by Dutch computer scientist Guido van Rossum back in 1991, and in the last few years, thanks to artificial intelligence and machine learning it shot to the top of the charts among programmers.
Aspiring Python developers can't go past Google's Python courses, hosted online learning platform, Coursera.
Google curated a "crash course" for Python beginners, a second course on using Python for manipulating files and processes on an operating system, and a third one that speaks to one of Python's core strengths: automating IT tasks by whipping up Python scripts.
Google's Crash Course in Python is available for free as part of a 7-day trial, after which it costs $39 a month to continue. It's actually part of the heftier Google IT Automation with Python course launched in January 2020. The beginner course requires no previous experience in programming.
It takes about 32 hours to complete over four weeks and covers syntax, automation with scripting, data types in Python, how to use variables, and programming loops to execute Python code infinitely.
Think of it as an on-ramp to Google's IT automation with Python course.
The more serious Google IT Automation with Python Professional Certificate has overwhelmingly positive reviews with a user score of 4.8 out of 5 on Coursera.
This course really aims to get students familiar with core IT tools like the Git versioning system, the GitHub code-sharing site, and using Python to solve real business challenges, such as repetitive system administration tasks. It's also a path to becoming skilled in cloud technologies.
This certificate takes 6 months to complete, and students can expect to be prepared for roles like advanced IT support specialist or a junior sys admin role.
It costs $39 per month to continue learning after the 7-day free trial ends, so customers are looking at a total bill of $234.
Microsoft in 2019 released a set of 44 free online video tutorials that help people with some experience in programming to get the most out of Python.
The Python for Beginners series is presented by Christopher Harrison, a senior program manager at Microsoft, and Susan Ibach, a business development manager from Microsoft's AI Gaming unit.
In mid-2020, it produced two more Python-focussed series called More Python for Beginners and Even More Python for Beginners: Data Tools.
The video tutorials are published on Microsoft's Channel 9 developer video service and YouTube.
Microsoft is serious about Python development because of the artificial intelligence services it can offer customers through Azure. It even managed to convince Python creator Guido van Rossum to come out of retirement in late 2020 to work as a technical fellow for its developer division.
ZDNet wanted to ensure that this set of recommendations didn't just cater to beginners. We wanted some experts to tell us the best Python courses to take, even for those who are proficient in coding and familiar with the industry.
Anaconda makes a hugely popular distribution of Python combined with the statistical language R that's focussed purely on the data science and machine learning crowd. There's also integration between Microsoft's VS Code and the Anaconda distribution of Python.
A number of popular deep learning courses teach Python coding skills, including Deep Learning Specialization, IBM's Apple Data Science, and Stanford's Machine Learning.
Sophia Yang, a senior data scientist at Anaconda, reckons Coursera's deep learning courses with a focus on Python are the way to go.
"I enjoyed taking the deep learning courses on Coursera," Yang told ZDNet. "The specializations are an excellent start for deep learning with Python. The lectures are clear, interesting, and engaging. They balance theory and practice well and provide enough intuition and knowledge for students to learn more independently. I also recommend checking out the official Python documents."
Massachusetts Institute of Technology (MIT) is home to the MIT Computer Science & Artificial Intelligence Laboratory (CSAIL). It's a premier US university, and CSAIL backs several groundbreaking AI research fields such as computer vision.
MIT offers its Python learning videos for free under MIT OpenCourseware, which include lectures, interactive assessments, assignments, and transcripts. It's not a bad alternative for a university that can cost north of $40,000 a year to attend and lead to significant student debt.
"6.0001 Introduction to Computer Science and Programming in Python is intended for students with little or no programming experience," says MIT OpenCourseware.
"It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class uses the Python 3.5 programming language."
MIT OpenCourseWare is open for business and has proved to be popular. It has over 200,000 followers on Twitter, and the MIT 6.00 Introduction to Computer Science and Programming of Fall 2008 has received more than 4.9 million views, according to its 2020 annual report.
So, you might not be a beginner. You might even be working for the US Department of Energy and need to produce codes in Python.
David Beazley, a veteran Python coder, offers both paid-for courses and a slightly lighter version for free, aimed squarely at people involved in or keen on computer science.
Beazley's courses are not for beginners or the faint-hearted. He describes his free course as "a no-nonsense treatment of Python that has been actively taught to more than 400 in-person groups since 2007."
"Traders, systems admins, astronomers, tinkerers, and even a few hundred rocket scientists who used Python to help land a rover on Mars–they've all taken this course."
The point is that his Python courses really treat computer science as the starting point rather than Python. He's posted some details about his courses on GitHub.
Due to the pandemic, all of his courses are online-only, and they're not cheap. If you want to learn how to write a compiler in Python, it'll set you back $1,250 for a one-week online crash course.
"From 2007-2018, I was heavily involved with corporate training of Python and taught upwards of 400 courses on the topic -- typically to scientists and software professionals," Beazley told ZDNet.
"The "Practical Python" course is a lightly edited version of the training materials that I developed and taught in these courses."
He decided to release the course materials under the Creative Commons (CC) license in 2019 because he saw a lot of Python training material was either behind paywalls or on sites littered with advertisements and SEO.
"Not only that, I felt that a lot of it was presenting Python in an overly complicated, often muddled manner. Honestly, I was kind of annoyed, so I thought it might be useful to provide a battle-tested course in a spam-free format that anyone could access. Also, I figured that the CC license would encourage more creative use of the material. For example, foreign translations, or use by teachers in developing their own courses."
He doesn't want his courses at https://www.dabeaz.com/courses.html to be described as Python courses because they're really about computer science.
"Although they often use Python, they are focused on core topics in computer science as one might encounter in the first year of a CS Masters or PhD program. Typical attendees are working professionals who would like to tackle advanced material without the hassle of enrolling in a graduate program," he told ZDNet.
"These courses are quite challenging. For example, I offer a course titled "Advanced Programming with Python." The ordering of the words in that title is important because the emphasis is on "Advanced Programming." That's something that's quite different and substantially more challenging than simply learning a few "advanced" Python tricks."
You're 100% on your own if you pick the US National Security Agency's training manuals, but it is another way into Python programming. And it's just cool that this Python training manual came from the NSA.
Chris Swenson, a software engineer, filed a Freedom of Information Act (FOIA) request with the NSA for access to its Python training materials and received a lightly redacted 400-page printout of the agency's COMP 3321 Python training course.
Now it's available online for free as a PDF for anyone to take a look at, thanks to Swenson. It's also available on the Internet Archive.
The documents are meant for course sessions that would take between 45 and 90 minutes to complete in a class setting.
The COMP 3321 course can be completed over a "full-time, two-week block" with 10 modules covered per week.
Python is relatively easy to learn. It's versatile. It has a large ecosystem of data science and machine learning libraries that make it the lingua franca of programming in those fields.
That ecosystem includes important Python packages or libraries like NumPy and SciPy at the Python Software Foundation's PyPI (Python Package Index) site and specialized data science distributions of Python, such as Anaconda. Important machine learning Python libraries include the Google-backed TensorFlow and Facebook's PyTorch and key software development kits (SDKs) from Microsoft Azure and Amazon Web Services (AWS).
Another tendril of the Python beast is Jupyter Notebooks -- a virtual notebook that brings Python to the browser -- that is supported in important developer tools like Microsoft's Visual Studio Code (VS Code) code editor and integrated development environments (IDEs) like JetBrains' PyCharm. Beyond that, there are efforts from major Python users such as Bloomberg to improve the security of third-party open-source Python libraries.
If you're looking at courses, you also need to understand what Python is good for. Python might not be the right language to learn if you're keen on web application development or building mobile apps. But if you're into computer science, big data, data science and machine learning, or automating big backend IT systems, it could be the perfect language.
Python doesn't work so well with the browser or mobile apps and isn't known for efficient code. Hence it's bent towards data science, where work is offloaded to high-power GPUs. But van Rossum announced this week that there is a plan to double the speed of Python performance in version 3.11.
We wanted to make this list of Python courses appealing to a broad cross-section of Python developers. Python is one of the most popular languages but it has strengths and weaknesses. As Google's Coursera-hosted courses highlight, the strengths are in machine learning and IT automation.
Microsoft's courses show there is a path to careers in artificial intelligence and the cloud. Beazley's courses demonstrate that Python can be used to solve challenges in finance, space exploration, and more.
Choosing the right online course is a big decision to make. Every course is an investment in time and possibly money. The right choice depends very much on your professional trajectory. It could be in the cloud with Microsoft Azure, Google Cloud Platform or Amazon Web Services. It could be in financial services, retail or government.
The best approach is to weigh up where you are in your career, where you want to be in one year, and then pick the course that has the highest chance of achieving that goal.