As always like how I told, there's no doubt about this being the best python course that you will ever find, and take it from a guy who never found interest in studying until now.
Great course! A month ago I still knew nothing about programming. Now I can try to understand and write codes for a mini game, which is super cool. Many thanks to the teachers and Coursera.
by Sui X•
by Kiran K•
by George S•
by AYUSH K•
by Rahul M•
by Michael K•
While the other courses have been pretty good, albeit maybe a bit on the simplistic side, this course was definitely the weakest so far in the Python 3 Specialization. I thought the coverage of classes and object-oriented programming (OOP) was not all that great. I have a background in C++/C# so thankfully I already have a solid understanding of OOP, because otherwise I don't think I would have gained much real-world understanding from this course. While it shows you the basics of how to create classes and inherit from other classes, it's very light on how the OOP paradigm is intended to be used. There's very little to no discussion of the core aspects of Abstraction and Polymorphism which are absolutely essential to using it properly.
These courses would have better done with examples that build upon each other, rather than isolated one-off examples each time. That way students can gradually see how different aspects of the language combine with each other to result in larger, more complex programs. That is even more the case in this course. You go from a bunch of tiny, isolated examples to a whopping 250 line final project that is orders of magnitude more complicated than anything else encountered previously in the Specialization. For someone totally new to programming this must have been extremely intimidating. The code in the final project should have been distributed throughout the course in examples building up to it rather than hitting you with it all at once.
A couple other nitpicks. First, there is an awkward and out-of-place 30 minute segue into the Django web development framework which, in my opinion, contributed very little understanding to the concepts of classes and OOP. Second, the instructors created a custom implementation only available on their online textbook to demonstrate unit testing. Python already has built-in assertion functionality for testing, so I don't understand why that was not used in favor of something students won't even be able to use in an actual Python environment.
by Edward K•
The lectures and text material about Exceptions are very good.
The lectures and text material about Testing together are too brief. I have read enough about Python to know that Python has a module called Unitest. Unitest deserves a separate week or more than one week, perhaps another course.
The introduction to Classes is good, but the lectures and text material about Inheritance are too shallow. I never really understood how inheritance is to be applied.
I found that the course material did not prepare me to work on the final project. I completed reading all the text, the lectures and the assignments during the first three week. Then I extended the deadlines by one month, and I consider myself fortunate to have finished the course during those extra four weeks.
by Mahmoud G•
I liked the course, as i did all the past three courses in this specialization so far. That being said, I think this course seemed a little more rushed compared to the others, which might be the Book's shortcoming and not the course's. I know they tried to keep the explanation and depth in this course somehow relatively basic, but i think, because classes and inheritance are some of the most essential and tricky topics, they could've spent more time on them. All in all, however, this was an excellent course, and i appreciate all of the hard work by all the professor's and staff.
by Kumar S•
I would have rated it 4.5 but not 5. I think, that whatever was taught was simply awsome. It was imple easy to understand and had enough content to learn. May be it had little too much things to read, and I felt that may be the content would have been little more in depth. The last assignment was very good but the others were too easy and there was scope of improvement on the quality of the other smaller assignments. Some of them had repetitive questions. But all said it was an excellent taught course and very useful for someone who has started with OOP.
by Susan B•
This was a great course on classes and inheritance, especially for someone new to object-oriented programming, and the final project was an excellent challenge to understanding this. Would have been 5 stars but (1) I thought it needed more reinforcement, (2) the auto-grader environment was confusing and (3) I would have preferred that the Django module either be on task or eliminated. The instructors (Paul and Steve) were outstanding.
Tough but comprehensive, really picked up a lot on this one,
some small criticisms: more practice needed writing full classes and i found that at times I had not enough practice from other things like formatting print - particularly on the final project. I get that it is common to use games for some time to teach classes but i found both pokemon and wheel of fortune to be something i couldn't to easily relate to.
by Kuan-Chih W•
The course materials are wonderful. The instructor went step by step for each concept, which helps student to understand thoroughly before receiving new concept. However, for the course final project, it would be perfect if we could get more in-detail and specific instruction or explanation for each concept. Overall, it is a great course for both beginners and intermediate learners.
The assessment about unit testing defies the philosophy of this course, where we've become accustomed to breaking down large problems to smaller ones and keep practicing until we master the topic as a whole. In that assessment, we're bombarded with a lot of different test cases. So it is taking much longer time than needed. Otherwise, the course is just PERFECT!
by Shiyi W•
This course is very helpful to either a beginner or an intermediate learner with some background knowledge. The interactive tool is amazing, which provides a practical platform for programmer to try and learn. The only thing that I will suggest to improve is to build up more projects, from which is what I learnt the most. Thank you UMichigan Professors!
by Shreeyash K•
The whole course was beautiful, but the project should've been from different domain. Many students are from regions where they never played Wheel of fortune game and the instructions seemed bit tricky to understand. Also the instructions were later modified in the discussion forums. But by the way, the concepts are taught excellently.
by Ietje P•
The part on classes and inheritance is as excellent as previous python courses in the specialization. The part about testing has a weird structure, and seems to repeat itself a lot. Also the example about object orientation in real life could do with shorter video, better introduction. Final exercise has the right difficulty level.
by Nhu N T H•
Great course. My only feedback is you should allow the students to keep their code, or warn them before clicking Grade Me. Once I clicked this button the entire code was wiped out saved for the default view, which is sad as I spent hours putting in the work and would have wanted to save the results.
by Majid B•
This is a very good course for the beginners who are starting OOP. I have learned basics of Object Oriented Programming through this course. Well designed by The University of Michigan. Final project is a little bit tricky for the beginner, but overall it is a well designed course
by Gabriel G•
Really nice how these topics were introduced and broken down. Compared to all the other projects, project 4 was a disaster. instructions are very vague and confusing and you are dropped in the middle of the project with out any ways to test other than trial and error.
by Nishant B•
Good course for learning basics of Object Oriented Programming in Python. Although for learning Object Oriented approach for the first time, this course won't help much. But for those who know OOPs beforehand can easily learn how to implement it in python.
I wished the test codes in this course were available in the python unit test so I could understand them a little better. This course took me the longest time to finish. I stopped for a couple of weeks and was not too excited to come back and finish it.
by Juan I R•
The final assessment was a pain, it has errors and the feedback to correct your own errors is not clear. Sum it all up and you have no idea what is wrong. A few hours later and having done everything you just get it right and you have no idea how
by Muhammad A•
Good introduction to classes - can be better though. It explains very well what object-oriented programming is but isn't as well in explaining how classes can be used in your own code (or where and why you should use classes over functions).
by Subrata G•
Good Course for learning basic of object oriented programming in Python, Although this is not for who learning first time object oriented .But the final assessment was too long and the question design and flow was bad and confusing