Design Patterns

Rated 2.8 out of 5

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.

7 hours to complete
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.
9 videos (Total 66 min) 8 readings 3 quizzes

6 hours to complete
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!
5 videos (Total 33 min) 5 readings 3 quizzes

6 hours to complete
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.
8 videos (Total 62 min) 4 readings 3 quizzes

4 hours to complete
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.
4 readings

Tham gia đánh giá khóa học

Nếu bạn đã học qua khóa học này thì mời bạn tham gia đóng góp ý kiến và đánh giá để cộng đồng bạn học có thêm thông tin tham khảo.

Cung cấp bởi: Coursera /  University of Alberta

Thời lượng: 22 giờ
Ngôn ngữ giảng dạy: Tiếng Anh
Chi phí: Miễn phí / 0
Đối tượng: Intermediate

Thông tin về nhà cung cấp

Coursera (/ kərˈsɛrə /) là một nền tảng học tập trực tuyến toàn cầu được thành lập vào năm 2012 bởi 2 giáo sư khoa học máy tính của đại học Stanford là Andrew NgDaphne Koller, nền tảng này cung cấp các khóa học trực tuyến (MOOC) cho cộng đồng người học online.

Coursera hợp tác với các trường đại học danh tiếng tại Bắc Mỹ và trên khắp thế giới, cùng với nhiều tổ chức khác để cung cấp các khóa học trực tuyến chất lượng, theo chuyên ngành và được cấp chứng chỉ trong nhiều lĩnh vực như kỹ thuật, khoa học dữ liệu, học máy, toán học, kinh doanh, khoa học máy tính, tiếp thị kỹ thuật số, nhân văn, y học, sinh học, khoa học xã hội , và nhiều ngành khác.

Các khóa học cùng chủ đề

Motion Planning for Self-Driving Cars

This course will introduce you to the main planning tasks in autonomous driving, including mission planning, behavior planning and local planning. By the end of this course, you will be...

Capstone: Autonomous Runway Detection for IoT

This capstone project course ties together the knowledge from three previous courses in IoT though embedded systems: Development of Real-Time Systems Web Connectivity & Security and Embedded Hardware and Operating...

System Validation (4): Modelling Software Protocols and other behaviour

System Validation is the field that studies the fundamentals of system communication and information processing. It allows automated analysis based on behavioural models of a system to see if a...

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top