An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply techniques in analysis and design projects. Focus is on key object-oriented design patterns and principles.
This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:
MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder
Continuing examinations of the benefits and challenges of applying design patterns and related principles in Object-Oriented Analysis and Design (OOAD). The overall specialization and the instructor are introduced here. Topic lectures introduce the origins and intent behind Object-Oriented (OO) pattern definitions, and then examine two common OO patterns - Strategy and Observer - for their purpose, structure, supporting principles, and typical applications in the design and development of OO applications. Students should have some background in OO foundational elements, Java, JUnit, and UML (all covered in the prior OOAD foundations & concepts course). These topics are prerequisites to gaining the most benefit from lectures and performing design and development assignments, so students may want to consider appropriate tutorial study as needed.
涵盖的内容
8个视频7篇阅读材料2个作业1次同伴评审2个讨论话题1个非评分实验室
显示有关单元内容的信息
8个视频•总计106分钟
Introduction to OOAD Specialization•11分钟
Introduction to Instructor•7分钟
Classwork Guidelines and Prerequisites•6分钟
Course and Module 1 Introduction•13分钟
Design Patterns•20分钟
Strategy•23分钟
Observer•22分钟
Module 1 Wrap-up and Assignments•5分钟
7篇阅读材料•总计56分钟
Course Updates and Accessibility Support•1分钟
Earn Academic Credit for your Work!•10分钟
Course Support•10分钟
Assessment Expectations•5分钟
AI Citation and Acknowledgement •10分钟
Project 1 Overview•10分钟
Note: VS Code Extension for JUnit Tests•10分钟
2个作业•总计35分钟
AI Policy Quiz•5分钟
Module 1 Quiz•30分钟
1次同伴评审•总计60分钟
Project 1 Peer Review•60分钟
2个讨论话题•总计20分钟
Introduce Yourself•10分钟
OO Design, Patterns, and Principles Resources•10分钟
1个非评分实验室•总计60分钟
Project 1 Coding Lab•60分钟
Structural OO Design Patterns
第 2 单元•小时 后完成
单元详情
This module focuses on structural OO patterns - patterns that help with object composition or making complex designs more efficient and flexible. Included here are discussions of Decorator, Facade, Adapter, Proxy, Composite, Flyweight, and Bridge. Supporting OO principles will also be discussed, as well as design topics such as multiple inheritance use guidelines and tradeoffs between the principles and implementation approaches. The project assignment (using Decorator for this module) will be the first design and development effort for an application that will be extended and refactored in each follow-on module.
涵盖的内容
7个视频1篇阅读材料1个作业1个编程作业1次同伴评审
显示有关单元内容的信息
7个视频•总计103分钟
Module 2 Introduction•2分钟
Structural Patterns and Decorator•20分钟
Façade and Adapter•24分钟
Proxy•17分钟
Composite•11分钟
Flyweight and Bridge•25分钟
Module 2 Wrap-up and Assignments•4分钟
1篇阅读材料•总计10分钟
Project 2 Overview•10分钟
1个作业•总计30分钟
Module 2 Quiz•30分钟
1个编程作业•总计180分钟
Project 2 Coding Lab•180分钟
1次同伴评审•总计60分钟
Project 2 Peer Review•60分钟
Creational OO Design Patterns
第 3 单元•小时 后完成
单元详情
We continue the examination and assessment of OO design patterns by looking at creational patterns here. Creational patterns provide alternative approaches for creating and instantiating objects, strengthening designs by separating the logic for object creation from object use. Supporting principles (e.g. Dependency Inversion), concepts (deep and shallow copies), and example applications will be provided. OO patterns reviewed here include Factory, Abstract Factory, Singleton, Object Pool, Prototype, and Builder. The project assignment (using Abstract Factory for this module) will be another step in extending and refactoring the class-long application design and development effort.
涵盖的内容
6个视频1篇阅读材料1个作业1个编程作业1次同伴评审
显示有关单元内容的信息
6个视频•总计82分钟
Module 3 Introduction•2分钟
Creational Patterns and Factory•25分钟
Abstract Factory•21分钟
Singleton and Object Pool•18分钟
Prototype and Builder•14分钟
Module 3 Wrap-up and Assignments•3分钟
1篇阅读材料•总计10分钟
Project 3 Overview•10分钟
1个作业•总计30分钟
Module 3 Quiz•30分钟
1个编程作业•总计180分钟
Project 3 Coding Lab•180分钟
1次同伴评审•总计60分钟
Project 3 Peer Review•60分钟
Behavioral OO Design Patterns
第 4 单元•小时 后完成
单元详情
The final full module of OO design pattern reviews focuses on the behavioral OO patterns, the largest category of patterns that help provide structure for object interactions and responsibilities. The lectures look in detail at Command, State, and Template patterns, with a somewhat briefer review of Iterator, Mediator, Memento, Interpreter, Chain of Responsibility, and Visitor. Supporting principles, pattern structures, and examples of use and implementation are also reviewed. The project assignment continues the build of the class-long application design and development effort, adding the Command pattern to support additional functionality.
In this last class module, we take a look at building patterns from other patterns - creating compound patterns - by examining the most commonly encountered compound pattern, Model/View/Controller (MVC). We also look at a development approach called Thinking in Patterns that encourages pattern use in the analysis and design process. (Both MVC and Thinking in Patterns will be revisited in the final OOAD course.) The capstone project provided here is the last step in the class-long design and development effort, integrating State, Singleton, and Observer patterns for extending and finalizing the application functionality.
涵盖的内容
5个视频1篇阅读材料1个编程作业1次同伴评审
显示有关单元内容的信息
5个视频•总计50分钟
Module 5 Introduction•2分钟
Compound Patterns and MVC•20分钟
Thinking in Patterns•18分钟
Capstone Assignment•3分钟
Course Wrap-up•6分钟
1篇阅读材料•总计10分钟
Capstone Project Overview•10分钟
1个编程作业•总计180分钟
Capstone Project Coding Lab•180分钟
1次同伴评审•总计60分钟
Capstone Project Peer Review•60分钟
获得职业证书
将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。
攻读学位
课程 是 University of Colorado Boulder提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。
查看符合条件的学位
攻读学位
课程 是 University of Colorado Boulder提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.