Chevron Left
Back to Design Patterns

Learner Reviews & Feedback for Design Patterns by University of Alberta

1,171 ratings

About the Course

This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, you will gain a foundation for more complex software applications. Finally, you will identify problematic software designs by referencing a catalog of code smells. You will be challenged in the Capstone Project to redesign an existing Java-based Android application to implement a combination of design patterns. You will also critique a given Java codebase for code smells. After completing this course, you will be able to: • Demonstrate how to use design patterns to address user interface design issues. • Identify the most suitable design pattern to address a given application design problem. • Apply design principles (e.g., open-closed, dependency inversion, least knowledge). • Critique code by identifying and refactoring anti-patterns. • Apply the model-view-controller architectural pattern....

Top reviews


Sep 17, 2019

I have never had a chance to study CS at the university so I am always looking for ways to improve my knowledge - to keep up with fellow programmers. And this course met my requirements perfectly. :)


Mar 17, 2022

The course and the instructor was so good. The curriculum was well designed and of appropriate length. I really enjoyed and learnt skills that I would be able to apply while developing real software

Filter by:

1 - 25 of 257 Reviews for Design Patterns

By Xavier J

Jan 31, 2018

Tying the assignments to an Android Studio project was overkill; the same principles could have been demonstrated with a SIMPLE java application.

By V K

Mar 25, 2019

Overall, a good course. The only (HUGE) drawback is that your assignments are being checked by students, who often have no clue what they are grading.

By Matteo L

Nov 12, 2017

Content is ok but doesn't go in detail and often just scratch the surface.

Exercises instead are quite poor. Many errors in the UML diagrams and code examples.

By Alexander D

Jan 20, 2020

Poor peer-review system, lack of support from teachers in discussions

By alireza r

Sep 12, 2019

this course really needs more explanation and going through details in order to be useful. I believe it is just a introduction to design patterns and you cannot learn design patterns by introduction

By Akshit G

Jun 21, 2019

The course is a really good introductory course for beginners to understand new concepts and for intermediates to refresh basic software design patterns and anti-patterns.

By Md. A F

Dec 26, 2020

This course is awesome. I gained knowledge about design patterns. If you want to take you on the next level of software engineering career this course is obviously recommended.

By Konstantin P

Oct 27, 2020

This course was not easy, especially when you have zero knowledge on subject. But it is very helpful subject and will certainly be a plus for you career in software development.

By Sunil A

Jul 2, 2020

The course was really recommended for a good kick start in design patterns and it would be more effective if you follow this course along with head first design patterns book

By Afonso M

Jun 7, 2020

I have read in some places that Coursera needs to improve its Review system, because the stars of this course do not match reality.

Clearly, this course is not in the "standard coursera" of quality (if you have already taken some courses, you will understand). The evaluation system is by colleagues, but it does not work, the classes are very weak, you will probably find the material of the wikipedia more didactic and in-depth. Few exercises. In fact, I don't even know if it can be called "exercise", it seems more like something for you to get a grade and not learn something. It needs to be reviewed urgently, as Coursera is now paid.

By Zlata P

Sep 18, 2019

I have never had a chance to study CS at the university so I am always looking for ways to improve my knowledge - to keep up with fellow programmers. And this course met my requirements perfectly. :)

By Syed H H

Aug 25, 2021

Wonderful course. It can enhance tour knowledge and give opportunity to explore more about design patterns. There are wonderful examples, assignments and quiz. I would highly recommend this course.

By Neil S

Jan 23, 2020

This course helped me learn about Design Patterns and better ways to organize things at work. It's a good start to learning Design Patterns.

By Mohan K

Nov 26, 2018

Very very useful to both academician and industry professionals..Thanks Coursera and University of Alberta

By Azadeh R

Sep 30, 2018

All in all, it was a good course. However, there were some issues. Firstly, the course notes was full of errors. Secondly, the projects did not always run immediately with the newest version of android sdk and tools. I am not so familiar with android, and each time I had to fight a few hours with these kinds of errors. The third issue was that the rubrics were not precise enough sometimes. For example, some students fulfilled the points in the rubric, but they had not addressed the issues in the assignment correctly.

Thank you for effort, and hope you can address the issues above to improve the course in the future.

By Muneer S

Dec 7, 2020

Was having a good start. But I didn't like when it moves to the assignment. Assignments are really un guided and no any real person check for it correctness expect another peer validate based on input from college. That won't give real feedback on the assignment made. My Opinion is, assignment should be checked and given feedback by real instructor since every students have their own approach and thinking that might be different from the given answer for comparison by peers. Some peers do not understand at all and make the rate the assignemtn to be correct. that's so sad

By Eddie R

Aug 19, 2020

Course is great, but I think it can benefit of doing pure java exercises, rather than to have to depend on an application on android, Also, it needs more exercises with refactoring , I do understand there is so many patterns, but it will increase analitic capacity from the student.

By Péter B

Oct 31, 2021

I was very pleased with the OO Design course of this same team, however, I am a bit disappointed with this course. Firstly, the questions and exercises are not enough to deeply understand the design patterns. Secondly, the material is not well enough. The course uses UML but this UML is somewhat different than the UML in the OOP course and I could not find explanation for the different notations, so I have to guess, what the arrow means. There are misconceptions around the MVC pattern (see the discrepancies between the written material, the video material and the solution of the capstone project), I had to check how that works on the internet, I even checked the book of GOF, so I have to think, that also the teachers do not understand this enough. I did not say, that this material is bad. Not at all, I learned a lot (I tried to understand design patterns many times earlier), so I understand DP better than before starting the course, but I do not feel, that I am good enough in DP after this course. So I recommend this class for everyone, but I also ask the lecturers to improve the material. Overall: Thank you for the material, with only a bit more work, it could be perfect.

By Daniel C A

Dec 17, 2021

Basic, should have had more practices and real world examples

By Omar A S R

Oct 23, 2020

Waste of time and money, I was expecting to improve my programming skills but this course only gives definitions and there is no valuable practices, this is not something that can be added to a curriculum... very disappointed...

By Тарас

Aug 20, 2020

Practice and rare lecture slides are the opposite of principles they are trying to teach. Assignments are all peer graded and based on one bloated android program

By Manuel A

Dec 5, 2022

I have to hand it to the creators of this course, I personally prefer online education because I have a full-time job and don't have much free time, I have taken several other courses in the same modality but still I had never seen very few like this; well structured and very high quality content.

Looks like these people know what they are doing, didn't just throw a couple of short videos, a quiz and call it a course. I took the Whole Software Design and Architecture Specialization taken 3 out of 4 and so far the courses have been just great, the narrator did an awesome job, they way she explains keeps you engaged through the whole video.

I am looking forward to see more content from Professor Wong and collaborators.

By Muhammad U S

Aug 9, 2020

This course provides the right skill set required to develop a maintainable, flexible and efficient software code using well defined software design principles and tested approaches. It effectively delivered all the concepts with useful examples. Looking forward to taking more courses from this specialization.

By Stefan A

Apr 19, 2020

The course was very interesting and provided a good basic knowledge about design patterns. - I had to study Design Patterns and Code Smells also with other resources, as the knowledge in the course is not very deep. But i'ts completely ok to have some inputs for further investigations.

By Mahmoud A M

Sep 12, 2019

It's been a while since I have taken any academic course, however, I found this course very insightful and beneficial in my career. It helped me to fill gaps in my programming knowledge knowledge. I'm intending to use the materials provided as a reference in my day to day activities.