Chevron Left
Back to Object-Oriented Design

Learner Reviews & Feedback for Object-Oriented Design by University of Alberta

1,767 ratings
417 reviews

About the Course

This course takes Java beginners to the next level by covering object-oriented analysis and design. You will discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines. And, you will be able to communicate these designs in a visual notation known as Unified Modelling Language (UML). You will be challenged in the Capstone Project to apply your knowledge of object-oriented design by evolving and documenting the Java codebase for an Android application with corresponding UML documentation. After completing this course, you will be able to: • Apply the Class Responsibility Collaborator (CRC) technique to analyze and design the object-oriented model for a problem. • Explain and apply object-oriented modeling principles and their purpose (e.g., abstraction, encapsulation, decomposition, generalization). • Explain and apply different types of inheritance • Explain the difference between association, aggregation, and composition dependencies. • Express object-oriented models as Unified Modeling Language (UML) class diagrams. • Translate between UML class diagrams and equivalent Java code. • Apply design guidelines for modularity, separation of concerns, information hiding, and conceptual integrity to create a flexible, reusable, maintainable design. • Explain the tradeoff between cohesion and coupling....

Top reviews

Aug 5, 2020

Great course to learn the concepts of Software Designing and how it is used in real business scenarios. This course is indeed very helpful for aspiring product developers who aim to be an architect.

Jan 10, 2021

Great course to learn the concepts of Software Designing and how it is used in real business scenarios. This course is indeed very helpful for aspiring product developers who aim to be an architect.

Filter by:

301 - 325 of 420 Reviews for Object-Oriented Design

By Yvonne Y N Z

Jul 19, 2021


By Md. N S R

Nov 25, 2020


By 노병현

Apr 24, 2020


By Sureshkumar S

Aug 8, 2019


By 121910304030 D B

Oct 20, 2021


By Santiago E

Oct 4, 2021


By 121910309040 N A K

Aug 28, 2021


By 121810309029 S V A

Dec 10, 2020



Dec 8, 2020


By 121810308051 B S

Nov 20, 2020



Sep 4, 2020


By kova h b

May 26, 2020


By Konda R

May 26, 2020


By Mankala P

May 26, 2020


By Maddula D

May 25, 2020


By Мазур В О

May 24, 2020


By 林翰隆

Sep 23, 2019


By Jayanth h

Nov 22, 2020


By Tamilselvan k

Jun 6, 2020


By Muhammed E

Sep 22, 2021


By Harshal G

Oct 16, 2020


By Vishnupriya.R

Jun 3, 2020


By Benjamin G

Dec 9, 2017

A good course to get in touch with software architecture, especially in the first three weeks I refreshed and improved my UML basic knowledge. Nevertheless, after the introduction of Model Checking, I missed the usage examples, exercises, and best practices. Fortunately, I found in the list of literature the article about the topic and so I could close the gap.

By the last Capstone Assignment, I wish I would less struggle with Android-SDK setup and concepts, but more develop the UML-Diagrams with technics I learned in the course and implement a tiny application in plain Java, i.e. the Sharing App can be a command-line-application, which I have to extend according to the User Story based on the given Capstone Assignment.

In overall, I repeat, this is a good course, especially if you are willing to work through the additional third-party literature on the topic.

By Oleksii K

Nov 23, 2020

Good and precise explanations in videos. Assignments not so hard, but give you a better understanding of topic.

I have lowered the rate, because the final assignment (week 4) is non-useful: no much work to do, a lot of hints - it was really easy. I expected that there will be a more complicated final task.

Nonetheless, the course is great entry point to the object-oriented design, especially for those who is unfamiliar with UML.

By tarun S

Sep 5, 2020

Its very important to have clear expectations before taking this course. This course introduces the very basics of object oriented programming and focusses more on the representational aspects. If your aim is to learn design patterns, like me, I would not recommend this course. Only take this if you are an absolution beginner in object oriented world and want to formally learn how to represent objects on flow diagrams.