University of Alberta
Design Patterns
This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications.| Length | 3 to 4 weeks |
| Effort | 5-8 hours per week |
| Price | Free |
| Subject | Design, Computer Science |
| Level | Intermediate |
| Languages | English |
| Video Transcripts | English |
About this Course
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.
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.
What you'll learn
:
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 syllabus
Week 1: Introduction to Design Patterns: Creational & Structural Patterns
Week 2: Behavioural Design Patterns
Week 3: Working with Design Patterns & Anti-patterns
Week 4: Capstone Challenge
Meet the instructors
Kenny Wong
Associate Professor
Computing Science, Faculty of Science
