verified
Verified Information • Last Updated Mar 2026
Design Patterns
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.
Duration
6 Months
Institution
University of Alberta
Format
Online
Eligibility Criteria
school
Academic Foundation
A recognized Bachelor’s degree or high school equivalent required for admission into University of Alberta.
language
Language Proficiency
English proficiency required. IELTS, TOEFL, or standard medium-of-instruction certificates accepted.
Detailed Fees Breakdown
Base Tuition Fee
$187
Total Est. Investment
$187
Scholarships and early-bird waivers may apply. Contact admissions for exact institutional fees.
Academic Trajectory
Program Outcome
Graduates of the Design Patterns program at University of Alberta are equipped with global perspectives, ready to excel in international markets and top-tier career opportunities.