University of Colorado Boulder
Object-Oriented Analysis and Design: Practice & Architecture
University of Colorado Boulder

Object-Oriented Analysis and Design: Practice & Architecture

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

20 hours to complete
3 weeks at 6 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

20 hours to complete
3 weeks at 6 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree

What you'll learn

  • Consider practices and philosophies of creating resilient and responsive software designs

  • Apply practices for increasing object-oriented code quality and maintainability

  • Design architectures to effectively integrate object-oriented and other system components

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

March 2025

Assessments

4 assignments

Taught in English
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 5 modules in this course

This module introduces core object-oriented (OO) design principles and modeling techniques to establish a strong foundation for designing robust and maintainable software systems. Learners will explore how UML can be used to represent OO concepts, analyze real-world applications through design patterns, and evaluate best practices for developing resilient OO-based solutions.

What's included

9 videos3 readings1 assignment1 peer review2 discussion prompts

This module builds on foundational object-oriented (OO) principles by applying advanced design patterns, refactoring techniques, and best practices in OO development. You will explore how to integrate UML modeling with OO design, improve software resilience through refactoring, and implement design principles in Java-based applications. Additionally, the module introduces advanced OO frameworks, including dependency injection (DI) and inversion of control (IoC), to enhance modularity and maintainability in complex software systems.

What's included

6 videos1 reading1 assignment1 peer review1 ungraded lab

This module explores the intersection of object-oriented (OO) design with software architecture, user experience (UX/UI), database integration, and API design. You will refine your ability to model applications using UML, implement OO design patterns in Java, and consider the broader implications of OO design in software engineering projects. The module also examines how OO principles relate to high-level software architecture and project management, ensuring that students gain a holistic understanding of software design and development.

What's included

6 videos1 reading1 assignment1 peer review1 ungraded lab

This module delves into advanced object-oriented (OO) design concepts, focusing on best practices, design patterns, and language-specific implementations. You will explore UML modeling, Java-based OO development, and interface design while analyzing pattern libraries and anti-patterns. Additionally, this module introduces the role of AI in software development and compares OO implementations across various programming languages, preparing students to adapt your skills to evolving industry trends.

What's included

6 videos1 reading1 assignment1 peer review1 ungraded lab

In this final module, you will demonstrate mastery of object-oriented (OO) design and development through a comprehensive capstone project. This module reinforces key concepts covered throughout the course, including UML modeling, OO design principles, software architecture, and best practices in Java-based development.

What's included

4 videos2 readings1 peer review1 ungraded lab

Instructor

Bruce Montgomery, PhD, PMP
University of Colorado Boulder
6 Courses14,060 learners

Offered by

Build toward a degree

This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions