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 elements and concepts.
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
An introduction to the benefits and challenges in applying Object-Oriented Analysis and Design (OOAD). The overall specialization and the instructor are introduced here. Then the challenges of developing software to support changing requirements are reviewed, and the Object-Oriented (OO) paradigm is presented as a possible approach to better analysis and design. Lectures examine how the OO approach differs from other programming paradigms and how it can provide helpful perspectives in conceptual, specification, and implementation design stages. Students should consider their background in Java and begin appropriate tutorial study at a level needed to allow use of the language in course projects (suggested resources are provided).
涵盖的内容
8个视频5篇阅读材料2个作业2个讨论话题
显示有关单元内容的信息
8个视频•总计120分钟
Introduction to OOAD Specialization•11分钟
Introduction to Instructor•7分钟
Course and Module 1 Introduction•9分钟
Developing Software - Requirements•31分钟
Design Perspectives•32分钟
Programming Language Paradigms•17分钟
Course One Assignments Review•9分钟
Module 1 Wrap-up and Assignment•5分钟
5篇阅读材料•总计36分钟
Course Updates and Accessibility Support•1分钟
Earn Academic Credit for your Work!•10分钟
Course Support•10分钟
Assessment Expectations•5分钟
AI Citation and Acknowledgement •10分钟
2个作业•总计15分钟
AI Policy Quiz•5分钟
Module 1 Quiz•10分钟
2个讨论话题•总计20分钟
Introduce Yourself•10分钟
Identify Useful Java Resources•10分钟
Object-Oriented Fundamentals
第 2 单元•小时 后完成
单元详情
The module provides a review of core OO foundational concepts, including abstraction, encapsulation, modularity, polymorphism, delegation, inheritance, identity, and more. Key OO terminology for discussing aspects of class and object design are also presented. Finally, Java – our course programming language - is reviewed, not in a full development tutorial, but rather in examining the languages elements that support effective OO design and development. Resources are provided for supporting Java tutorial needs, and an example of Java development is provided as a first foray into OOAD development projects.
涵盖的内容
5个视频2篇阅读材料1个作业1次同伴评审2个非评分实验室
显示有关单元内容的信息
5个视频•总计131分钟
Module 2 Introduction•3分钟
OO Concepts - Part 1•24分钟
OO Concepts - Part 2•49分钟
Java for OOAD•50分钟
Module 2 Wrap-up and Assignment•4分钟
2篇阅读材料•总计20分钟
Tutorial for using VS Code in Coursera•10分钟
Project 1 Overview•10分钟
1个作业•总计10分钟
OO Fundamentals•10分钟
1次同伴评审•总计60分钟
Project 1 Peer Review•60分钟
2个非评分实验室•总计120分钟
Tutorial Lab - Add Two Integers•60分钟
Project 1 Coding Lab•60分钟
Unified Modeling Language for OOAD
第 3 单元•小时 后完成
单元详情
The Unified Modeling Language is a method for performing OOAD using graphical diagramming. The module focuses on UML as an effective tool for our design efforts – class diagrams can easily show major relationships and responsibilities of collaborating class networks; use case diagrams can help with analysis of critical user tasks needed for a successful system analysis; and the behavioral diagrams (sequence, state, and activity) can show details of messaging and command flow through applications. UML is regularly used in both academic and industry settings for designing and describing complex OO systems, and it will also be part of many OOAD course development projects.
涵盖的内容
5个视频1篇阅读材料1个作业1次同伴评审
显示有关单元内容的信息
5个视频•总计81分钟
Module 3 Introduction•4分钟
UML for OOAD - Class Diagrams•47分钟
UML for OOAD - Use Case Diagrams•13分钟
UML for OOAD - Other Diagrams•14分钟
Module 3 Wrap-up and Assignment•4分钟
1篇阅读材料•总计10分钟
Project 2 Overview•10分钟
1个作业•总计10分钟
UML for OOAD•10分钟
1次同伴评审•总计60分钟
Project 2 Peer Review•60分钟
Test for OOAD
第 4 单元•小时 后完成
单元详情
Testing in any software system is a recognized challenge; in an object-based system where communicating elements hold their own state, data, and functionality it can be even more difficult to find effective test suites. The module looks at the core issues with software test, and at what approaches are typically used in industry for test at each stage and level of a software project. There is a special focus on messaging and serialization, two key elements of connectivity in OO systems that have their own challenges and approaches for thorough test and development. Finally, the module looks at a first-level view of JUnit, a unit testing framework used in industry with Java that will also be used (in a simple fashion) as a tool for grading and verifying course programming work.
涵盖的内容
5个视频1篇阅读材料1个作业1个编程作业1次同伴评审
显示有关单元内容的信息
5个视频•总计60分钟
Module 4 Introduction•4分钟
Test and TDD for OO•22分钟
Serialization and Messaging•16分钟
JUnit for OOAD•14分钟
Module 4 Wrap-up and Assignment•5分钟
1篇阅读材料•总计10分钟
Project 3 Overview•10分钟
1个作业•总计10分钟
Test for OOAD•10分钟
1个编程作业•总计180分钟
Project 3 Coding Lab•180分钟
1次同伴评审•总计60分钟
Project 3 Peer Review•60分钟
Course Capstone
第 5 单元•小时 后完成
单元详情
The capstone project presented here lets the student confirm their understanding of the three main tools employed in OOAD projects – Java, JUnit, and UML. While the capstone is not an extreme challenge, it does provide a common checkpoint to ensure skills are in place for more challenging OO design and development in the two follow-on courses – and provides the student with an opportunity to review their readiness to continue in the specialization.
涵盖的内容
2个视频2篇阅读材料1个编程作业1次同伴评审
显示有关单元内容的信息
2个视频•总计11分钟
Module 5 Capstone Assignment•5分钟
Course One Wrap-up•7分钟
2篇阅读材料•总计20分钟
Note: Final Exam Is Only For For-credit Learners•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.