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:

251 - 275 of 296 Reviews for Design Patterns

By Hany S

Jan 10, 2019

Really useful course, it let me understand the patterns deeply

By Ignas P

Nov 2, 2020

Content was good, but some "starter code bases" were missing.

By Stephan V

Sep 9, 2021

Excellent content. I wanted to see more coding assignments.

By Rateb K

Jan 16, 2021

Very Insightful! Not a fan of the peer-graded assignments

By Максим Р

Apr 21, 2020

Nice course, but slightly faster than I wanted it to be

By DHRUV S

Dec 21, 2019

There should be more explanation of code examples

By Gayathri S

Jul 28, 2020

Capstone challenge can be even more challenging

By Pawan K

Apr 10, 2021

it was good to learn it from here.

By Raffaella D

Jan 29, 2024

Very interesting and well done!

By John P O

Sep 18, 2020

Very informative course.

By Mohan S V P

Aug 19, 2022

great learning

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 Palnati V V N S A

Nov 12, 2024

,,

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