Get started with custom lists to organize and share courses.

Sign up

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Design Patterns

University of Alberta via Coursera

5 Reviews 253 students interested
  • Provider Coursera
  • Cost Free Online Course (Audit)
  • Session Upcoming
  • Language English
  • Certificate Paid Certificate Available
  • Effort 5-8 hours a week
  • Start Date
  • Duration 4 weeks long
  • Learn more about MOOCs

Taken this course? Share your experience with other students. Write review


Sign up to Coursera courses for free Learn how

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.


Introduction to Design Patterns: Creational & Structural Patterns
-Design patterns help to solve common design issues in object-oriented software. You will learn what they are and how they can be applied. In this module you will learn the creational and structural design patterns. You will continue to learn and practice expressing designs in UML, and code some of these patterns in Java.

Behavioural Design Patterns
-You will continue learning useful design patterns and add them to your toolbox. In this module, you will learn the behavioural patterns. This will include communicating them in UML and coding them in Java!

Working with Design Patterns & Anti-patterns
-You will learn a design pattern that is very useful for user interfaces: model-view-controller, or MVC. Then you will learn some principles underlying the design patterns, to create software that is flexible, reusable, and maintainable. Finally, you will learn some of the symptoms of bad design, which we call code smells or antipatterns.

Capstone Challenge
-In the previous modules, you were introduced to a variety of design patterns, and applied two of these to the example Android code base. Now, in the final module of the course, you will identify and fix specific code smells in this code base. After completing these tasks, you will be ready to complete the final exam.

Taught by

Kenny Wong

Help Center

Most commonly asked questions about Coursera Coursera

Reviews for Coursera's Design Patterns
4.0 Based on 5 reviews

  • 5 stars 60%
  • 4 star 20%
  • 3 star 0%
  • 2 star 0%
  • 1 star 20%

Did you take this course? Share your experience with other students.

Write a review
  • 1
5.0 3 months ago
Anonymous completed this course.
This is an excellent course for the individuals who are seeking to advance career in programming because design patterns are the flavor of programming and the code smells if it does not have patterns implemented.

So I would recommend everyone to take this course.
Was this review helpful to you? Yes
Stefan K
5.0 3 months ago
Stefan completed this course.
It's a very good course to take if you're specializing in software architecture or just formalizing your specialization. The course details the most used design patterns then follows up with assignments and quizzes. I am very satisfied having taken this course.
Was this review helpful to you? Yes
Mattneri M
1.0 2 years ago
by Mattneri completed this course, spending 2 hours a week on it and found the course difficulty to be easy.
Content is ok for a beginner. Usually it just scratch the surface and doesn't go in great detail.

Exercises quality is quite poor. Many errors in the UML diagrams and code examples.
Was this review helpful to you? Yes
5.0 2 months ago
Anonymous completed this course.
Design pattern is really useful for any developer in the world .it facilitate problem's design and make avoid some code smells to be the code flexible reusable and maintainable.
Was this review helpful to you? Yes
4.0 8 months ago
Anonymous completed this course.
The course combines an appreciation of the formal aspects of structuring and conducting design reviews with an exploration of the ‘softer’ skills required to ensure that reviews engage all those who need to take part and prepare them to carry out their role in a way that delivers the best possible outcomes - designs for products that better meet customer requirements and are easier and cheaper to manufacture.
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.