Chevron Left
Back to Design Patterns

Learner Reviews & Feedback for Design Patterns by University of Alberta

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

251 - 275 of 281 Reviews for Design Patterns

By PADMANABHAN R (

May 17, 2023

amazing work

By Andrés W

Dec 10, 2017

Great course

By Ria P

Nov 19, 2022

informative

By Siddharth S

Mar 28, 2019

Nice course

By Philipp K

Nov 29, 2021

Guter Kurs

By Long H

Nov 6, 2023

Very good

By GUTHULA J M

Sep 23, 2022

good

By Nguyen C D

Jan 14, 2018

Great

By Mobile E

Jul 5, 2021

good

By Pratik

Feb 28, 2021

Good

By Isha J

Apr 13, 2020

good

By Ashley S

Nov 11, 2022

Overall a good course, but I found the UML diagrams very confusing. They should recommend another course as a prereq that helps to understand these diagrams.

I used this as a complement to a Ruby adaptation of the GOF's "Design Patterns", and I found the order of the patterns this course chose to teach really strange. The template pattern is regarded as one of the easiest and most widely used patterns and the Factory pattern is much more complicated and builds on the Template pattern. Yet, they chose to teach Factory before Template? They also completely dropped the Strategy pattern from their curriculum, which is another very widely used and easy-to-understand pattern.

By Aaron E

Nov 11, 2022

I'd say 3 to 3.5 stars. The information presented is fairly clean. But I have no idea why the class needs to pull in Android as a complication. I imagine the professor figured it would be fun and interesting for the students. I was really just looking for a low friction way to learn and practice some of these patterns. Also having code that's going to depend on a specific version of something complicated like android probably isn't going to age well. Then there's the complication that android studio wasn't always available on Linux. I digress ...

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