Design Patterns (Coursera)

Design Patterns (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
Misc

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

Design Patterns (Coursera)
This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, learners will gain a foundation for more complex software applications. Finally, learners 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.

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

Learners will be challenged in the capstone project to critique an existing Java application for code smells. They will redesign the application to combine design patterns such as within the Model-View-Controller (MVC) design.

After completing this course, a learner 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.


Course 2 of 4 in the Software Design and Architecture Specialization


Syllabus


WEEK 1

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.


WEEK 2

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!


WEEK 3

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.


WEEK 4

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.



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

Course Auditing
41.00 EUR/month

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