Chevron Left
Back to Design Patterns

Learner Reviews & Feedback for Design Patterns by University of Alberta

4.7
stars
1,324 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

ZP

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. :)

RJ

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:

276 - 296 of 296 Reviews for Design Patterns

By Max L

Nov 11, 2022

I liked the content, but the required install of Android Studio proved too difficult. Some things have changed in Android Studio, and some things in the code was deprecated and I cannot figure out if the fault is mine or it is because some of the content is now deprecated.

By Revelo A

Jul 6, 2020

Many of the explanations concerning design patterns are too abstact and there are not enough practical exercise to understand them deeply. For many topics you won´t be able to get a good idea about the practical application.

By Aurel M

Mar 27, 2020

Forum is not useful, unfortunately. No involvement by teachers, just a bunch of guys asking for assignments to be graded. Grading by others is much too lenient, i.e. even if you make errors, you are awarded too many points.

By Luis F P M

Aug 14, 2022

This course comprised everything about good programming and architectural practices. However, I consider that it should be splitted into two courses more to board in detail more concepts and practice them.

By Raffaele M

Jan 8, 2018

Missing course notes, even though there are a lot of references about the GoF Design Pattern. Most of the UMLs and codes are poorly reviewed.

By boody g

Nov 27, 2023

I would more appreciate it if a practice on every design pattern is applied and the videos are more explaining rather than reading text

By Dániel S

Dec 8, 2021

The course material is really good, but it's not too deep. The assignments don't really help to understand the subject.

By George P

Sep 21, 2018

Very light course... I would say very easy and does not get into depth...

By RODRIGO J B F

Oct 7, 2020

Bom, porém a qualidade das atividades poderia ser melhor.

By Nguyen T N

Oct 21, 2019

need more sample usages of design patterns in real world

By HarieHaren G

Nov 8, 2018

Not Bad

By KADALI T K

Oct 9, 2024

Good

By Nicholas R

Mar 27, 2021

I learned some new things and overall the course was quite informative. However I can only give the course two starts because I was not completely satisfied with how the course was structured and the level of difficulty. I was expecting a much more challenging course, in terms of theory and actual exercises. The main reason I signed up was because I was expecting to go in to more detail on SOLID, unfortunately it was only until the last part of the course that it was mentioned. In general, I thought the structure of the course was a little monotonous and to mechanic. I understand that trying to explain design patterns in itself can be challenging because its an abstract concept. But I think it could have been much better. Also, the code base that we had to work with in Java, in my opinion was not very well written and did not convey the key concepts of the course. The course is informative and in general I would recommend it if you want to improve you skills on how to write better code, but don't have high expectation on it.

By Gregory P

May 25, 2021

Content is good. Discussion forums are not useful. Course assignments are based on Android which adds an extra level of difficulty which is not necessary given the content, and do not demonstrate the value of any of the design patterns taught. If anything, patterns that must be applied in assignments result in over-engineering and excessive duplicate code. Treatment of code smells is superficial as a result. No feedback on assignments is given; marks reflect only if an attempt was made, not whether it was correct.

By Marco B

Sep 11, 2023

Lessons with talking about parallels from life scenarios are pretty useless. It would be much more valuable to see instead some more practical examples of code and diagrams with the patterns being discussed.

By Lucian B

Mar 1, 2019

What a great topic! And what a poor job they did with this one! Its a shame, it feels like they only care about the money.

By Margo v d S

Nov 21, 2024

Nice to revisit the basics but the course really needs an update.

By Евгений Ш

Mar 30, 2024

The course is ridiculously bad and mostly serves as a reference to OOP patterns from GoF. It is very abstract, the examples of using the patterns are insufficient. Moreover, assignments for using patterns are horrible and really harmful: they force you to apply some of GoF patterns without real necessity. This just adds additional layers of abstraction to your code (thus, making it more complicated) without any benefits. Also, there are no control of your knowledge or understanding. Instead of some objective control, the assignments are reviewed by different learners, and you do not know: either your assignment is correct or a reviewer does not understand the material in the same way as you or the reviewer just marked your assignment as correct without reviewing. The suggestion: do not buy the course and just read "Design Patterns: Elements of Reusable Object-Oriented Software". It is much more useful.

By Víctor D

Aug 1, 2023

The contents are ok, but making the implementation depend in an environment as complex as Android makes that most of the effort is on making Android Studio behave, not on thinking about the design. Avoid if you are not familiar with or interested in Android development.

By Paul O

Oct 25, 2023

Appears to be written by someone hired as a java expert who is not a java expert

By Ludovica S

Mar 26, 2021

j