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.
Este curso faz parte do Programa de cursos integrados Software Design and Architecture
oferecido por
Informações sobre o curso
oferecido por

Universidade de AlbertaUniversidade de 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.
Programa - O que você aprenderá com este curso
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.
Avaliações
- 5 stars75%
- 4 stars20%
- 3 stars3,26%
- 2 stars0,96%
- 1 star0,76%
Principais avaliações do PADRÕES DE DESIGN
Excellent course! Instructor easy description as well as lots examples helps me to solidify my object oriented and design pattern principles. Thank you so much for this course.
Tying the assignments to an Android Studio project was overkill; the same principles could have been demonstrated with a SIMPLE java application.
great, lecture notes are well prepared, with hands-on assignment. My design getting more solid and well structured after taken this course.
The demo could have been also possible with any simple IDE, as installing and configuring Android Studio could be irrelevant for some students.
Sobre Programa de cursos integrados Software Design and Architecture
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.

Perguntas Frequentes – FAQ
Quando terei acesso às palestras e às tarefas?
O que recebo ao me inscrever nesta Especialização?
Existe algum auxílio financeiro disponível?
Mais dúvidas? Visite o Central de Ajuda ao estudante.