Chevron Left
Back to Design Patterns

Learner Reviews & Feedback for Design Patterns by University of Alberta

4.7
stars
1,275 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 - 284 of 284 Reviews for Design Patterns

By HarieHaren G

Nov 8, 2018

Not Bad

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 Евгений Ш

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