Chevron Left
Back to Introduction to Data Science in Python

Learner Reviews & Feedback for Introduction to Data Science in Python by University of Michigan

26,930 ratings

About the Course

This course will introduce the learner to the basics of the python programming environment, including fundamental python programming techniques such as lambdas, reading and manipulating csv files, and the numpy library. The course will introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the Series and DataFrame as the central data structures for data analysis, along with tutorials on how to use functions such as groupby, merge, and pivot tables effectively. By the end of this course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses. This course should be taken before any of the other Applied Data Science with Python courses: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Network Analysis in Python....

Top reviews


May 9, 2020

The course had helped in understanding the concepts of NumPy and pandas. The assignments were so helpful to apply these concepts which provide an in-depth understanding of the Numpy as well as pandans


May 3, 2018

It's very useful specially for new learner because it only dives into the part of python that data science need. I strongly recommend to anyone even if you don't have experience in programming before.

Filter by:

51 - 75 of 5,921 Reviews for Introduction to Data Science in Python

By Eklavya S

Aug 5, 2018

This course makes you give up on data science and MOOCs.

Seriously, the content is poorly presented he keeps on speaking , telling 2-3 lines about a function and so on.

I highly recommend stay away from this pathetic specialization.

By Shawn T R

Jul 12, 2018

Overall a great course which really pushed me to improve my Python skills and get more comfortable with pandas, which is really powerful for data analysis work. It also showed me how awesome Jupyter notebooks is to use. I'll be using it in all of my Python courses moving forward, whether or not the course requires it. I will say though that the estimates for the amount of time the courses will take per week are way too low. This is a problem I've encountered on every MOOC platform I've ever used though. They really just want to get you in and saying that you'll be spending 15 hours per week on a course will scare many people away. I've easily spent more than that for some weeks in this course. In the end though, I didn't feel that my time was wasted. The assignments are challenging and really force you to get better at Python if you want to try to solve them on your own and not immediately resort to the forums. I'm probably just a bit of a masochist that way, and it honestly may have doubled the amount of time it took to finish the course, but I find trying to solve the problems with as little guidance as possible very rewarding. You just become a better coder overall.However! If time is a major concern and masochism isn't your thing I highly recommend just giving it a go for only an hour or so if you're stuck end then going to the Discussion Forums. There are very useful posts there from the teaching assistants that will show you the most efficient ways of solving the problems the "Pandorable" way and save you gobs of time. TL;DR = Loved the course and would highly recommend it :-)

By Nikhil K

Jun 16, 2020

This course is not easy. You will have to spend a lot of time on the internet looking for answers. At times you may get frustrated, you may ask why i am taking this course if i have to look around so much for the answers by myself. But if you stick there, you will learn a lot. Maybe you will retain more because concepts were not spoon-fed to you but you found them. That journey is a huge learning experience.

I would not suggest absolute beginner to take this course. Learn some python , practice a bit and then join this course.

Happy Learning!!!

By Bruno S P P

Jul 14, 2020

My background: Industrial Engineer with a decent programming background (including Python), but rusty with statistics.

My review: The instructors clearly know what they are talking about and explains useful concepts. However, the videos are very short, and some concepts feels rushed. The assignments are pretty challenging, which is a nice thing. The last one in particular is very nice and don't feel fabricated - you actually test an interesting hypothesis based on some data you have to extract and manipulate. To be able to finish the assigments, I had to use Google a lot. It kinda felt like cheating, but the course is pretty clear that you should look in the documentations and ask questions on Stack Overflow.


Include more exercises to practice what was taught in the videos.

Include a solution for each assignment - some questions I got it right, but I am sure my answer was not the most efficient or "pandorable" one. It would be nice to have a benchmark to compare after we pass the assignemnts.

By Ainur A

Nov 28, 2020

The course was undoubtedly challenging (which in itself is a good thing), but at times it was more challenging than it had to be because of some little errors, inconsistecies, wording in the assignment, etc. Sometimes some files wouldn't be where they were supposed to be. Sometimes it took me more time to actually understand what I was supposed to do than actually doing it, because it wasn't really clear what was required. Ok, English is not my first language but I am quite good. Besides, lots of other students complained about confusing wording, so it's not just me. Sometimes some instructions were missing and you'd only realise that after digging through the discussion forums for hours. So, basically there were a few things that made the whole experience more difficult than it had to be, and they weren't about knowledge or skils but about the course "infrastructure".

Before I started this course I'd already taken a few courses on Python programming (on a different platform), including numpy and pandas, but the assinments in this course were still qute difficult for me. You have to do a lot of searching online to get to the solution. In general, I'm all for the idea of having to do more self-learning but the online format is already more challenging than face-to-face learning, so I think it would help to have a few guided exercises between the lectures to understand the material better. Maybe if I had more experience with Python and programming, it would be easier.

One thing that disappointed me was that they recommended a book (optional reading), but you would have to purchase it. Now, if we were studying on campus then we would have access to the university library where we could borrow this book (probably), but as online students we don't have that option. I understand that they can't just upload copywrited books for anyone to access but maybe they could come up with a system that would allow students to somehow access the books temporarily, or make just a few necessary chapters available. I think that's for Coursera to manage, not for the University of Michigan though, because the university can only take advantage of whatever technology coursera can offer (at least that's my understanding).

On a positive note, the discussion forums were quite helpful, and the teaching staff were quick to answer most of the time. I suggest, if you take this course, then take full advantage of the discussion forums.

I also liked that there were two types of assignments (multiple choice quiz and programming). I think that's a great idea.

So, overall, if they made a few improvements to the course, it would be a great one.

By Jun-Hoe L

Oct 9, 2020

Decided to rate this course after I've gone through all 5 courses in the Speclisation. I originally completed this course in January 2020.

So from someone who has completed this Specialisation, I'd say this 5 courses are not worth it.

Here's how I would rank the courses from best to worst:

1. Social Network Analysis: 4.5 stars

2. Applied Machine Learning: 3.5-4 stars

3. Applied Text Mining: 3.5 stars

4. Intro to Data Science: 2

5. Plotting:1

Note that that worst courses are those handled by Professor Brooks himself. His video lectures tend to very superficial (or once in a while, unnecessarily detailed like going into the backend of matplotlib). The assignments on the other hand, are somewhat challenging and go way beyond the video lectures. And that's why you see many comments asking what's the point of purchasing this course when you spend 95% of the time googling? Which is made worse by the outdated autograder which uses and old panda version, and makes googling harder since you had to revert to outdated code.

My advice: Unless you really want the Specialisation cert, I think you should look elsewhere to learn pandas.

By Bart C

Aug 19, 2018

This course provides very little instruction. I really like learning by trial and error, and I think that is how coding is typically learned. Learning python from stack_exchange, however, is how I was already learning it, and I was doing fine. The whole problem of learning from stack exchange is that you don't know if you are doing things in the best possible way, which can be important for big datasets. There was no discussion of the best practices for complete an assignment, after it was turned in, and, in general, may functions were required to pass the course that were never discussed in the course. The entire weeks lecture could also be watched in about 30 minutes, which seems low to me. Most courses I have taken have at least three hours a week of lecture. I have friends who have taken this same course, and had a similar assessment.

By Carl G

Apr 9, 2018

Not my style of course. Lectures is a mostly just a list of code snippets without any slides. Instead there is a background of 2 people just staring at their screens the whole time. Does not inspire one to enjoy Data Science as a field. Prefer a narrative explaining why and how with practical tips thrown in. Learning to code is more than just syntax. Good examples are the first chapter in Think Stats by Allen Downey and Andrew Ng's Machine Learning course. In this course the assignments took quite a bit of time to complete since lecture code snippets not very useful. Had to self-learn from web to complete assignments. Also took extra time by some trial and error to get right format of results. A more productive approach was assignments in A

By Bas R

Feb 10, 2020

Topics covered are interesting as next steps when you have some basic programming skills in Python. However, the introduction and explanation of new concepts feel very rushed; a one minute video on map(), then lambda with a quick exercise without further explanation, followed by list comprehension at the same pace. I often found myself stopping the videos and googling for further explanation to understand what is really going on. If instructors feel that such concepts should be familiar to someone participating in the course, then I'd recommend not covering them at all, rather than rapidly rushing through.

By Muhammad A

Apr 19, 2020

I would not recommend this course at all. This is for a number of reasons.

The lectures are not really lectures, they are more of a narration of someone else writing code on screen, the intructor just whizzes through what's happening without giving any proper explanation (I cannot stress this enough). The limited explanation provided is just on what's happening on the screen rather than why we're doing it this way compared to any other way. There is also not enough guidance given in the lectures but told to just figure it out and go post on Stack Overflow. Anyone familiar with Stack Overflow should know, they *really* do not like beginners posting repetitive questions - so I find that advice from the instructor really odd.

The courses makes use of Numpy, but gives zero explanation on what Numpy is and why we use it. It just dives into it by using Numpy arrays and expects you to either magically understand it or go learn what/why Numpy, from someone else.

Speaking about assignments, a lot of the excercises require you to do something which hasn't been covered in the sessions at all. I understand giving a challene in assignments, but I would much rather prefer those challenges be related to things taught or from resources given / pointed to. But, unfortunately, you have to figure a lot out on your own and the videos are of no help.

It also doesn't help that the assignment feedback is very lacking. The grader also does not tell you what answer it expects, so you have no way of knowing how far off your answer is.

This is further not helped by the out-dated version of Pandas running (0.19.2). It has a 4 year old version. I tried to do the assignments locally, but then coming onto Coursera to find the methods I've used aren't supported. This causes further frustation with the "go learn on your own" approach, as every resource you'll find will be using methods/functions from the latest versions. You then have to spend hours more finding legacy methods for what you're trying to do (which, in practice, will be useless as you will always be working on updated packages)

In my opinion, this course is not worth the money. I would highly recommend you trial its contents before deciding whether to pay for it or not.

By Maria K

Nov 22, 2020

Task formulations and goals explanation in assignments description are extremely bad, I've almost turned grey trying to understand what is the main purpose of exercise.

May be you should be able to read minds of Christopher Brooks or to be some sort of psychic to complete these assignments. :)

The only way to deal with this is to googling and searching for the answer in discussions forums, StackOverflow and Github.

But, unfortunately, I haven't find anything better on coursera for my current programming level.

P.S. If you are beginner in python programming (as me), I highly recommend you to try DataQuest, it is much more understandable.

By Marshall J V

Feb 25, 2018

Would give this class a half star if I could. The material is covered way too fast and the assignments require knowledge of items not even mentioned in the class (let alone discussed). If you know the material well enough to get through this class, you don't need the class. The prof and TA refer to using Stack Overflow to figure it out early and often! Found this class to be a waste of time and money. I wanted to learn the material, but had to drop the class because I had no clue how to do the assignment after watching the lectures multiple times.

By Kyung H K

Feb 25, 2018

I have no idea who rated this class five stars. The lectures do not prepare you for the assignments and the auto-grader will grade your answer as incorrect if you return a 17 dtype='float64' and they were expecting a 17 dtype='float'. Also, there's absolutely no feedback on your work except from the auto-grader, so there's no opportunity to go back and see a more elegant way of writing your code. I managed to get 90%+ for every assignment, but it was only because I spent over 10+ on the homework assignments for the last two weeks.

By Thileepan P

Apr 3, 2018

This is definitely not an introductory course. This is more of an intermediate level course. The teachers explain complex techniques in one or two sentences. The notebook demonstration in the video lectures are also very fast.

There is a huge gap between the contents in the lectures and the assignment questions. These points should be kept in mind while choosing this course. I think, I will not take other courses in this specialization.

By Benjamin

Aug 13, 2020

Serious issues with the assignment grading system will result in you pulling out your hair due to only getting credit for erroneous assignment grading system instead of learning.

Literally have to read the discussion forums to figure out how to replicate the errors the grading system is looking for. Huge waste of your time.

Wait atleast a year from this review to consider taking the course and pray they have finally edited it by then.

By David S

Dec 21, 2019

This course is poorly organized, the instructor doesn't clear the most important basic concepts and pitfalls, instead just gives a brief through what can be done. The assignments are terrible, cannot state the problem clearly, didn't say anything about text files issues which causes submission problems, waist a lot of time on it.

By Dan D

May 15, 2018

This was the WORST course I have ever taken on Coursera. The final exercise questions were not specific enough and the autograder SUCKED ASS. I couldn't even refer to a column in my dataframe after I closed the browser 3x and rebooted my machine and it still did not work. This course is a WASTE OF TIME. MOVE ON!!!

By Saulet Y

Dec 13, 2019

Very disappointed! The assignments are unclear. To complete the assignments, you need to google on each question especially in Week 2 and 3. If you go to "Forum" page, you could see that there are more than 1400 threads in Week 2,3, which means a lot of students ask questions. The course is really really bad!

By Nicole B

Sep 26, 2020

This course is for knowing what you can do with python in Data science, definitely is not a course to learn python or for people like me who only had basic knowledge of python.

By Rachel B

Dec 14, 2020

not everyone who is proficient and knows their craft, is also good at conveying their knowledge...

in short- underwhelmed by didactic skills

By Tural H

Mar 5, 2020

Very fast pace, no clarity of the scope and poor leacturing

By Dale S

Mar 6, 2020

The autograder wars made this a bad experience

By Wei L

Jul 16, 2020

Introduction to searching Stackoverflow

By Zhenxun Z

Jan 11, 2017

I really like Prof. Brooks's way of teaching. He developed a very good introductory level course. Apart from some talks about data science in a whole, he concentrated on the preparatory work in this field -- data cleaning. Instead of delving into theories, he paid most of his attention to how to make things work by using python. I actually have a background in C, and I was a bit reluctant to learn python at first since C is already strong enough to attack most tasks. However, I have fallen in love with python now, and I think it is a much more suitable language for daily use especially when your projects aren't very large. Among its many merits, the best thing about python is of course its numerous libraries like numpy and pandas which free us from tedious low-level programming. I am quite convinced that I will move to python from now on.

In addition to lectures, I truly recommend you go over extra reading materials. Those articles are very thought provoking. For example, the first one "50 Years of Data Science" totally changed my previous view towards this field. It made me realize that data science is not a simple combination of statistics and machine learning, that it is a distinct way of obtaining new knowledge, and that its advancement shall benefit the whole science society.

About the assignments, those taught in the lecture are not enough and you should refer to python documents and stack overflow. I think knowing how to solve problems and where to find help is more important than solving problems itself, and that's why I consider those assignments well designed.

Finally, thanks to all the efforts made by the teaching staff.

By Fabiano B

Jan 12, 2019

If you are looking for in-depth theory, you may be looking at the wrong place. The videos skim through some fundamentals, and sometimes give you some valuable hints.

But if you are looking for a challenging experience that emulates the real world, this course is definitely for you. The assignments will throw you to the wolves very early. You will have to research way beyond the videos to finish them in a elegant manner. It also encourages you to code in a "pandorable" way, which is a valuable skill.