About this Course
54,181 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 16 hours to complete

Suggested: Four weeks of study, 5 – 8 hours/week...

English

Subtitles: English

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 16 hours to complete

Suggested: Four weeks of study, 5 – 8 hours/week...

English

Subtitles: English

Learners taking this Course are

  • Software Engineers
  • Machine Learning Engineers
  • Data Engineers
  • IT Managers
  • Data Scientists

Syllabus - What you will learn from this course

Week
1
7 hours to complete

Introduction to Design Patterns: Creational & Structural Patterns

9 videos (Total 66 min), 8 readings, 3 quizzes
9 videos
2.1.2 – Creational, Structural, and Behavioural Patterns6m
2.1.3 – Singleton Pattern5m
2.1.4 – Factory Method Pattern11m
2.1.5 – Facade Pattern6m
2.1.6 – Adapter Pattern4m
2.1.7 – Composite Pattern6m
2.1.8 – Proxy Pattern7m
2.1.9 – Decorator Pattern11m
8 readings
Meet Your Presenter – Sam Jeffery10m
Meet Your Facilitators10m
Discussion: Introduce Yourself10m
Discussion: Design Pattern Examples10m
Design Patterns Course Notes10m
Design Patterns Glossary10m
Ungraded Assignment - Adapter Pattern (Solution)10m
Ungraded Assignment - Composite Pattern (Solution)10m
1 practice exercise
Module 1 Review24m
Week
2
6 hours to complete

Behavioural Design Patterns

5 videos (Total 33 min), 5 readings, 3 quizzes
5 videos
2.2.2 – Chain of Responsibility Pattern5m
2.2.3 – State Pattern6m
2.2.4 – Command Pattern8m
2.2.5 – Observer Pattern5m
5 readings
Discussion: Undo/Redo As a Pattern10m
Mediator Pattern10m
Peer Review Request Forum10m
Capstone Assignment 2.1 - Implement the Command Pattern (Solution)10m
Ungraded Assignment - Observer Pattern (Solution)10m
1 practice exercise
Module 2 Review24m
Week
3
6 hours to complete

Working with Design Patterns & Anti-patterns

8 videos (Total 62 min), 4 readings, 3 quizzes
8 videos
2.3.2 – Open/Closed Principle5m
2.3.3 – Dependency Inversion Principle6m
2.3.4 – Composing Objects Principle5m
2.3.5 – Interface Segregation Principle4m
2.3.6 – Principle of Least Knowledge7m
2.3.7 – Part 1 - Code Smells11m
2.3.7 – Part 2 - Code Smells12m
4 readings
Ungraded Assignment - MVC Pattern (Solution)10m
Capstone Assignment 2.2 - Implement MVC Pattern (Solution)10m
Liskov Substitution Principle10m
Discussion: Stories of Bad Coding10m
1 practice exercise
Module 3 Review24m
Week
4
4 hours to complete

Capstone Challenge

4 readings, 2 quizzes
4 readings
Capstone Assignment 2.3 - Identify and Fix Code Smells (Solution)10m
Discussion: Last Word – Design Patterns10m
Acknowledgements10m
Credits10m
1 practice exercise
Final Exam1h
4.7
78 ReviewsChevron Right

25%

started a new career after completing these courses

47%

got a tangible career benefit from this course

29%

got a pay increase or promotion

Top reviews from Design Patterns

By ZPSep 18th 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. :)

By AGJun 22nd 2019

The course is a really good introductory course for beginners to understand new concepts and for intermediates to refresh basic software design patterns and anti-patterns.

Instructor

Avatar

Kenny Wong

Associate Professor
Computing Science, Faculty of Science

About University of Alberta

UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences....

About the Software Design and Architecture Specialization

In the Software Design and Architecture Specialization, you will learn how to apply design principles, patterns, and architectures to create reusable and flexible software applications and systems. You will learn how to express and document the design and architecture of a software system using a visual notation. Practical examples and opportunities to apply your knowledge will help you develop employable skills and relevant expertise in the software industry....
Software Design and Architecture

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.