Publish Date - May 29th, 2022
|Last Modified - March 7th, 2023
In a world of machine learning, artificial intelligence and data science, it seems like python programming language has taken off in popularity, usage and adoption. Python 3, was ranked as the third most popular coding language beating out SQL by 1.24% in 2021. With that in mind, it only makes sense that we would have thousands of people a month wanting to learn Python.
This leads me to an important question – where should you learn Python? Python is taught at the college level (Computer science) and in some high schools. However, massive open online courses (MooCs) support a variety of ways and bootcamps to learn python from scratch. This is the purpose of article, to provide you with the best Coursera python courses to better your skills.
Note: I’ve taken these courses, are currently enrolled or audited them – unlike 90% of the reviews out there.
As an example, I’m currently enrolled (and am actively doing) the Google IT specialist certification, and passed their “crash course in Python” which is on this list.
Here are some criteria I looked at:
- Course material – Lessons and instruction, what did they teach you and is it relevant?
- Exercises – How are the exercises structured? Do you truly learn by doing?
- Exams, Quizzes and Projects – The quality of exams, quizzes and projects.
- Instructor / community support – Is there an active community behind the course? Do instructors provide commentary or answer questions?
- Ratings, enrolled students, comments.
- Price
Here are the 7 Best Python Courses, specializations and guided projects on Coursera.
Course | Star Rating + info | Links |
Best Fundamental Python Course by Michigan University’s Intro to Python | 4.8 / 5 stars 209,092 ratings 98% thumbs up. | https://www.coursera.org/learn/python |
Best course to learn Python quickly Google’s crash course in Python. | 4.8 / 5 stars 24,207 ratings 96% thumbs up. | https://www.coursera.org/learn/python-crash-course |
Best Python Data structure course by Michigan University’s | 4.9 / 5 stars 88,985 ratings 98% thumbs up. | https://www.coursera.org/learn/python-data |
Best data visualization Python course by IBM | 4.5 / 5 stars 10,096 ratings 91% thumbs up. | https://www.coursera.org/learn/python-for-data-visualization |
Best Guided Project in Python by Prof. Ryan Ahmed | 4.4 / 5 134 ratings 26 reviews. | https://www.coursera.org/projects/python-for-data-analysis-numpy |
Best Introduction to Machine Learning w/ Python by IBM | 4.7 / 5 stars 12,512 ratings 94% thumbs up. | https://www.coursera.org/learn/machine-learning-with-python |
Best free machine learning course w/ Python By Andrew Ng | 4.9 / 5 stars 170,104 ratings 97% thumbs up | https://www.coursera.org/learn/machine-learning |
1. Best Python Introductory Course – Programming for Everybody (Getting Started with Python) by University of Michigan
Taught by Dr. Charles R. Severance (Dr. Chuck) – LinkedIn
Overview:
With over 2.5 million people enrolled, this Python course goes over the fundamental python concepts shown in the book “Python for Everybody”. The course is marked down as 6 – 7 hours and covers the main coding concepts:
- Variables and Expressions – How to define variables and implicit conversions (concatenation) and explicit conversions (str() conversions).
- Conditionals – if(), elif(), else() and mentioning of things like the Modulo (%).
- Function writing – How to define functions and then manipulate them our outputting them, like the print function.
- Loops and Iterations – Loops like Do, While and Do while, nested loops and common errors for loops.
- The course ends at loops, with no python project or capstone project.
Pros:
- Short and sweet, you can finish this course in one day if you’re highly motivated or caffeinated.
- Good emphasis on the loops and iteration, while they’re easy concepts to understand in Python – they can get complicated when you’re importing python libraries.
- This course will help you build good coding habits like proper syntax and error handling.
- You’ll get get some solid programming experience and coding.
Cons:
- No projects or large exercises to learn and gain practical experience
- No real practical coding tasks to work with. Much of the work is “Write this loop with a conditional” or “Manipulate the List or Tuple to do X or Y”. Great textbook questions, not very practical.
- They don’t teach you to debug or deploy code through something like GitHub.
Who’s this course for?
- Someone just starting out in Python, like the very beginning of your Python career. This means a business person with no technical experience, or a developer who’s never seen Python in their career before.
- Someone who’s starting get Python for everybody specialization.
Who’s this course not for?
Anyone with an absolute drop of Python experience. Unless you want a refresher on first year Python – I wouldn’t take this course. If you’ve taken Python bootcamp, Udemy Python course or any type of tutorial / class in Python – you can do this course in one day. This course is the first course in https://www.coursera.org/specializations/python, so you will need this course to get the full specialization.
What some students say:
Very good for starting with the basics and getting hands on with some nice assignments with nice videos. One thing to note is the instructor should spend less time in comparing python to a human and ‘talking’ – Ayush G – Sep 26 2020 – 5/5
Speaking from someone who has a hate for coding, but works in IT, this course is fabulous! The professor finds real world examples that make sense to non-coding brained students. Refreshing, challenging, and insightful! – Briana S – Apr 27 2021 – 5/5
This course is the best one, I have ever seen . While going through the course, it is easy to understand and grasp the knowledge quickly and it is actually very useful for me in my future we can gain the skills. – VEMULA H K Mar 23, 2022 – 5/5
Verdict:
Great beginner Python course, with it’s content more geared for learners who are beginning their Python adventure. Besides that, this course does not even scratch the surface of the power of Python. Instead of learning about real-world applications, you’re stuck doing homework. This course doesn’t bring up any advanced Python content like:
- Lists and Dictionaries
- String manipulation (functions like upp er(), int(), isnumeric(), join([]))
- Classes and objects (This is sooo.. important to learn)
- Modules
- More exposure to other Python tools (Matplotlib, Juypter Notebooks, Qwiklabs) vs. just writing Python in an IDE (this course uses Atom) and then outputting the code to console.
- No final project or hard assignment :(.
Ultimately, I’ve taken Prof. Severence’s courses before on Freecodecamp and he’s an awesome professor. This is the first course in Python specialization by Michigan state. So, it makes sense that they’ll bring up the aforementioned courses afterwards.
Personally, since I have a degree of experience in Python – I thought this course was a little bit boring and repetitive. However, if you’re extremely new to Python, consider taking this introductory course to get started in your python journey.
2. The Best Course to Learn Python quickly by Google
Taught by: Christine Rafla – SRE at Google – LinkedIn
Overview:
This course dives deep into Python starting with the very basics (expressions and data-types) and continues to delve into more advanced concepts like lists, dictionaries, modules , tuples and loops – all of this is done by “Week 4”.
On Week 5, you’ll learn about object inheritance , constructors, classes and methods. You’ll finish off with modules and then a final project using Juptyer Notebooks.
Here’s an example of the object inheritance that I liked:
>>> hamlet = Piglet("Hamlet")
>>> hamlet.speak()
Oink! I'm Hamlet! Oink!
...
>>> class Cow(Animal):
... sound = "Moooo"
...
>>> milky = Cow("Milky White")
>>> milky.speak()
Moooo I'm Milky White! Moooo
Week 6 – You end up building a WordCloud, which is a very popular way to showcase words based off frequency appearing in page, book or an article.
Pros:
- This course is super comprehensive, if you can make it through this course by not cheating – you’ve actually gained some skill in Python.
- Great coverage of basic python skills. This course really cracks into a variety of general programming concepts in Python.
- The final project was really fun and actually quite difficult to do. You end up needing to define multiple functions, use conditionals, loops, object inheritance and modules to accomplish your task. Not to mention there’s a ton of string manipulation!
Cons:
- While I want to say this course is for beginners, I don’t actually think it is. Up to week 3 can be handled by a beginner – loops is a pretty simple concept to understand, especially if you’ve coded before. However, once you start diving into dictionaries and lists and combining them with loops it definitely becomes more challenging.
- Most of Week 5 was actually optional, which doesn’t make sense because while you don’t need these skills to complete the final project, they actually make the final project 3x easier.
- Jupyter Notebooks is one super glitchy tool, I had a lot of issues with it.
- Many of the assignment’s answers can be Googled which takes the fun out of doing the work if there’s an issue.
Who’s this course for:
- Someone who wants to learn Python basics to introduction to data visualization. I think that’s where this course actually ends up finishing at.
- A person who wants to get the Google IT Specialist certification from Coursera – this is the first course of four.
- Someone who wants a challenging ramp-up to python software development. With some Googling (not cheating for the answer), you can do this course.
Who’s this course not for:
- Someone looking to learn how to build Algorithms
- A complete beginner to Python, while some of the reviews say its beginner friendly – this course ramps up HARD after Week 4.
- Data scientist looking to better their skills in visualization (this course would be basic for you)
- A person completely new to object-oriented programming (Java, Javascript etc..), if you’ve never coded in an OOP language – this course will be difficult for you.
What some students say:
Challenging especially if you are new to programming, you will have to do some practice and reading outside of what is given to you in the course. It is also not the greatest experience when using the provided integrated programming environment and thus I recommend using an IDE when trying your own scripts in this course. This course will allow you to grasp the foundation.
Carson F – Oct 25, 2021 – 4 / 5 stars
Valuable course for someone who has worked with python little bit . Otherwise for beginners need to do lot of homework for each week to understand the concept. It’s a crash course and the name implies everything.
Suggestion: It would be nice if there is more practical quiz even if the course extend by another one week.
Sivakumar S – Apr 7, 2020 – 4 / 5 stars
While the course itself was pretty good, there were some definite technical issues (which is ironic for a coding course).
1. When the video pauses for qeustions, you can’t go back and look at the video to learn how to answer the question. Watching once is probably not going to be enough for most people to figure out the code to be able to move on, and I don’t think that is the goal of those questions.
2. I feel like I spent more time with technology not working than with my code not working. For example, for the final project, I was supposed to upload a text file and then get started. I spent more time trying to upload the text file than trying to write the code. I went to the discussion boards and found that many other people had the same problem, and the moderators responses were basically to keep trying what wasn’t working. That shouldn’t be the hard part. Even once I had the code working, I couldn’t get credit by submitting the way the instructions say.
This course would be much better if the bugs were worked out.
Brandon D Apr 17, 2022 – 3 / 5 stars
Verdict:
As stated, I’ve done this course – and while I would say it’s not hard, it’s not easy either. There’s a few bugs in the actual interactive Coursera portions and a lot of the assignments are way more complex than the teaching material. It’s like Google wanted to provide you with the first perfect 20 minutes of a 30 minute tutorial, but the last 10 minutes are crucial to solving the assignment which you don’t get. Overall though, great course – fun instructor and I plan on continuing my push to the Google IT Specialist certification.
Start this Python course with Google now!
3.Greatest Python data structure course by University Michigan State
Taught by Dr. Charles R. Severance (Dr. Chuck) – LinkedIn
Overview:
This is the next course in the Python for Everybody Specialization, Dr.Chuck’s goes over a number of very important Python concepts:
- String manipulation (Len and looping through a string) string slicing, the “in” operator and string comparison.
- Files – How the CPU and memory writes information to files so we can save the data. You’ll learn the “Open, close, read, write” and also learn how to search through a file with a loop (a super useful tactic).
- Lists – You’ll see what lists are, how they work, traversing and slicing lists, list methods (append, extend). With a fun exercise at the end.
- Dictionaries – You’ll learn the difference between dictionaries and lists (list’s index positions must be integers, whereas dictionaries the indices can be anything). You’ll learn about dictionaries and files, where you do the following – Write a Python program to read through the lines of the file, break each line into a list of words, and then loop through each of the words in the line and count each word using a dictionary.
- Tuples – You’ll learn why tuples are important (use them as sorting lists for dictionaries) and a cool assignment on using tuples as keys in a dictionary, to ultimately loop through a file to find words.
Pros:
- A far more useful course than the first course in the specialization, since you’ve learned how to manipulate strings and work with dictionaries, files and lists – you can easily interact with large amounts of data and organize them.
- Great pace, the dictionary chapter was a little bit dense – but it needs to be because it’s the primary building block of Python data structures.
- Lots of working exercises in each chapter to drive the work home – then a quiz at the end of every lesson.
- Charles is a “Class A act”, one of the best Python instructors around.
- This course makes you feel like a programmer because you’re actually doing something tangible (File extraction).
Cons:
- I would have liked to seen Regular Expressions in this course. It makes a lot of sense to have this here since it can make your life super easy when trying to pull information from files.
- This also would had been a good time to mention application procedural interfaces (APIs) and web development concepts, since Python scrapers are really useful for extracting information off the internet.
Who is this course for?
Anyone really, it was a great refresher course on data structures and how to extract information from files. Novice python, or experts may learn a thing or two from the course.
Who is this course not for?
Someone who is hoping to do some data visualization or data science. While this course is good, for covering some data structure basics, it’s pretty simple if you’ve working in Python before.
What do some of the students say?
The course is very great for begin learning about data structures of Python. The instructor is fantastic. By Neeraj K S – May 30, 2021 – 5 / 5 stars
That course is just awesome for Python beginners. By Aleksandr N Aug 1, 2018
It’s short but nonetheless insightful. By MADHURI R R – Sep 4, 2020
Verdict
This is a solid Python course to learn Data structures, the lack of negative reviews and the overwhelming positive responses says enough about it. This course explained how to handle lists, dictionaries and tuples way more effectively than Google’s course. My advise, snatch this course and specialization up if you want a solid base python coding experience.
Try this Dr.Chuck course out Now!
4. Best Data Visualization with Python by IBM
Taught by Saishruthi Swaminathan, Data Scientist at IBM – LinkedIn
Overview:
As a part of the IBM data science professional certificate (mentioned later in this article), this 20+ hour course is packed with data visualization tactics and tools so that you can create different types of graphs with the data extracted using python.
Some key concepts learnt are:
- Matplotlib usage (bar charts, pie charts, box plots, scatter plots and bubble plots) VIA Jupyter notebooks.
- Wordclouds, Waffle charts and Folium (geospatial library), which will allow you to overlay markets on-top of a map.
- Dashboards with Plotly and Dash
- One final project to analyze US domestic flight data
Pros:
- You want a data visualization course in Python? This is it – there’s no better single course to take.
- The course is relatively short, other bootcamps I’ve seen in visualization are upwards of 30+ hours. I hypothesize that this is due to them teaching a fair bit of Python, which this course doesn’t waste time doing.
- It’s part of a well structured IBM professional certification that has 9 courses, all at the intermediate level.
- Real life examples of you visualizing data – the Canadian data-set was cool.
Cons:
- 100%, this is not a beginner course. Do not take this course if you’ve just started out in Python. You need to have a strong grasp of data structures, databases and SQL and object oriented programming (OOP).
- The final exam / project was tough. I would have liked to seen something more unique and easier to handle. The skill level jumps drastically from the last chapter to the final project.
- Some of the assignments don’t correlate with the content, so you’ve got to do a lot of troubleshooting and Googling to find the issue.
- Course could have offered more assignments.
Who’s this course for?
- Someone who wants to complete the IBM data science professional certification.
- A person looking to practice some data visualization who has a strong background in Python.
- Someone who has a background in applied data science looking to brush up on their data visualization skills.
Who’s this course not for?
- A beginner in Python, data science or computer programming in general – you will have a painful experience because this course ramps up quickly.
- An analyst who’s not used to building their own dashboards from scratch. This isn’t a Tableau or Google data studio’s course.
See what some learners say – https://www.coursera.org/learn/python-for-data-visualization/reviews.
Many of the learners had issues with the assignments and the final assessment like I found. While it could be a skill issue, it can’t be a coincidence that hundreds of people are having the same problems over the last 2 years of the course existing.
Verdict:
While this course is rated fairly high and covers a lot of useful data visualization techniques, it’s not for the in-experienced. While it seems simple in the beginning, it’s not. This is the 8th course in the IBM data science specialization, so maybe that’s why it’s so very difficult. My honest opinion, only take this course if you have a job in Python, 2 or 3 years coding in Python or if you’ve taken Michigan Universities “Python for Everybody” certificate.
Visualize data with Python on Coursera!
5. Best Python Guide project on Coursera – Data Analysis: Panda and Numpy
By Professor Ryan Ahmed – Associate Professor at McMaster University.
Overview:
A project that leverages important python libraries; Numpy and Pandas. Numpy, is used to interact with arrays and is good for linear algebra and matrices. It stands for “Numerical Python”. You use Numpy to parse through array objects faster than traditional Python lists, the ndarray.
Pandas is used to do the actual data analysis.
With these two libraries you’ll work through large data sets, importing that data and then providing data visualization based off the data.
Pros:
- It’s a great short project to introduce you to Pandas and NumPy libraries
- Only 2 hours, so you can do this within one day
- It’s a guided project, so it’s a split screen walkthrough talk through
- Ryan Ahmed is a great teacher, you can tell he’s taught lessons before (somewhat obvious since he’s a professor)
- There’s a little HTML and CSS in this course 🙂
Cons:
- I like the guided projects, but they feel like a university lecture. You don’t end up really absorbing the information as fully as you should.
- Panda and NumPy are super powerful libraries. This is definitely an intro to both of these tools. You better off taking https://www.coursera.org/specializations/data-science-python to learn more about them.
Who’s this course for?
- Someone hoping start learning Panda and NumPy
- A person who wants to spend an afternoon doing a cool easy project in Python
Who’s this course not for?
- A person looking to master Panda and NumPy, this course is only two hours and should be considered introduction to both libraries.
- Someone looking to learn to visualize data, while this is one method – there are many other courses in this list that can provide better training.
What do some students say?
Most reviews are positive – https://www.coursera.org/projects/python-for-data-analysis-numpy/reviews, with a variety of people calling out how easy the concepts were to learn, the pace and quality and the fact that it’s good for beginners. There was one large negative review, from 2021 by Evgeny K.
Verdict:
If you want to learn Panda and NumPy on Coursera, this is the guided course to start doing it. While there are other courses that touch on in their specializations, these course are 20 – 30 hours long. As an aside, Jose Portilla has a number of great courses on Udemy that cover the exact same thing – so consider jumping over there if you want some really in-depth data science!
6. Best Introduction to Machine Learning w/ Python) by IBM
Taught by: Dr. Saeed Aghabozorgi – Sr. Data Scientist at IBM – LinkedIn
Overview:
The first course in IBM’s AI and machine learning program, this comprehensive 25+ hour course is split into two major modules.
- Machine Learning Introduction and Statistics (Regression and Classification)
- Model evaluation, recommendation engines and a Final project
Some other cool concepts covered are segmentation and clustering of data, content-based recommendations and collaborative filtering and decision trees.
Pros:
- This course is a perfect duration, balanced with exercises and course material.
- The ramp up is pretty appropriate for someone trying to learn machine learning. Machine learning is not a basic concept, and you need to have underlying statistics and / or coding background to start in it.
- I like that it touches on a lot of statistics concept (K-mean, multi-linear regression).
- Usable skills like cancer detection, predicting economic trends, predicting customer churn, recommendation engines, and many more.
Cons:
- A lot of weak ratings were due to the math portions being too difficult, with the understanding that ML is heavily reliant on statistics. If you’ve never taken a 2nd year statistics course in university (calculating Means, confidence intervals, single + multi-linear regression), this course may be tough.
- A few people hated the final assignment as it didn’t align with the course content. I agree that this could be difficult because this course has you pull in real-time information, whereas the course material for the final project hasn’t been updated to fit.
- You need an IBM cloud account to push IBM Watson services, this can be annoying.
Who’s this course for?
- Someone who knows Python and has a background in statistics that is read to delve into the world of ML.
- A person who wants to get the AI professional specialization course from IBM.
Who’s this course not for?
Someone who doesn’t have strong statistics skills (even if you’re strong at Python). Take a statistics course before you attempt this ML course
A person who doesn’t have the right math, statistics or Python prerequisites. This course is a intermediate to an advanced course
Python developers who are used to working with Django but not on the data science side.
What did the students say?
There are many students who stress about the math, presentation of the topics and overall layout of the course. However, a vast majority of students enjoyed the course (well over 75% gave 5 stars out of 2200 reviews). See some more reviews if you’re interested!
Verdict:
I haven’t done this course or even started it, but it’s on my list of courses to do because of the coverage and quality. That being said, I can see it being difficult from my audit because of mathematics needed. Partial derivatives, regression and distribution calculations are some of the concepts you’ll run into, all with the need to know Python. This course should probably be moved to the advanced side to dissuade newbies from taking it.
Begin your Machine Learning journey Now!
7. Best Free course to learn about Python and Machine Learning by Stanford
Taught by Andrew Ng – Co-Chairman and Co-Founder of Coursera; and an Adjunct Professor at Stanford University – Linkedin.
Overview:
Finally, an Andrew Ng course (there will be more courses when I cover Machine Learning and AI for Coursera, Udemy and other learning platforms)! This fairly long course 61 hours, is free and covers multiple ML concepts which include:
- Linear Algebra (Important for decision trees).
- Linear Regression (Important for algorithmic decisions)
- Logistic Regression + Regularization.
- Neural Networks (Learning + Representation)
- System Design for ML
- Vectoring
- Unsupervised and Supervised Learning
- Anomaly detection and recommender systems
- Large Scale Machine Learning
- Building an App – Photo OCR
This course is highly rated with a 4.9 rating out of 170k+ ratings and over 43k reviews.
Pros:
- This course is free and taught by a rock star in AI and ML, Andrew Ng.
- Lots of in-depth information in ML and there are some touch points on Python.
- Some implementation and deploying code.
- Good for beginners and experts a like.
Cons:
- The information Andrew is using is pretty old, he mentions Google+ and old user interfaces of Google.
- It is.. so.. long.. This course is insanely long and you need some pretty intense stamina to finish it.
- There’s a lot of theoretical Machine learning and math concepts – but not so much Python coding.
What do the students think?
The top comment which was upvoted almost 1800 times was By Rishav S on Jan 18, 2019
“It would be better if it would have been done in Python”.
I’ve been doing this course I also find this being an issue as well. It’s not really a Python course, it’s more of a theoretical entry level ML course. That being said, it’s free. Many people flag this course as in-depth and a great pick up! See more about the reviews on Andrew Ng’s course!
Verdict:
Once this course is actually done (I’m about half way through it), I’ll update this portion of my review to give you a final verdict. That being said, if you’re injured and feel like learning a new topic, but something that’s not too hands on – this course is perfect for you. It’s also free, so you don’t feel like you’ve wasted money.
Start this awesome course now!
Conclusion
While the world of Python is expanding still, so are the mediums to learn it. Coursera is an awesome learning tool with a lot of interactivity and motivated skilled teachers. This is why major companies like Google and IBM, work with Coursera so closely.
If there was anything you think I missed, let me know in the comments!
Frequently asked questions
I would say the top three Coursera specializations for Python are:
1. https://www.coursera.org/specializations/python, this is the best Python specialization course. It looks at Python from the very beginning and is perfect for newbies. It follows along with Dr. Chuck’s book – Python for Everybody.
2. https://www.coursera.org/specializations/introduction-scripting-in-python from Rice University by Scott Rixner. It’s different than Dr. Chuck’s specialization where Scott focuses heavily on data visualization and data analysis. Great if you want to start in the data visualization side of Python.
3. https://www.coursera.org/specializations/django from University of Michigan and Dr. Chuck. It’s a Django framework course (with Python baked in) aimed at you being able to be a web developer with these skills. You’ll learn to build HTML / CSS templates, learn about HTTP POST, GET and Redirect, plus create cookies and session variables in a web browser. The course rounds out with a nice crash course in JSON and JQuery to help with the more front-interactive portions of web development.
There are two major “Python-centric” professional certifications on Coursera.
1. https://www.coursera.org/professional-certificates/google-it-automation – Which focuses on being a system administrator and automating tasks away. This course is taught by Google and covers GIT and version control, Python, Bash and how to automate and troubleshoot real world issues.
2. https://www.coursera.org/professional-certificates/ibm-data-science – This focuses on the data science aspect of things. With 10 courses, this professional certification is extremely long and covers many touch points of artificial intelligence, machine learning, data visualization, data analysis and sums up with a large capstone project at the end.
Each insight shared is a valuable facet that enriches the gem of collective knowledge.