Chevron Left
Back to Object-Oriented Design

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

1,285 ratings
295 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 06, 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.


Feb 21, 2019

The course covers the fundamentals of object-oriented design in a clear and systematic way. The homework assignments are defined clearly. The quiz sometimes feels a little overly simplistic.

Filter by:

76 - 100 of 295 Reviews for Object-Oriented Design

By Light0617

Aug 03, 2018

useful!!! let me learn UML!

By Hagar G H H

Feb 18, 2018

Good and very useful course

By enner

Aug 09, 2018

In one word Excellent!

By Yariel I R

Apr 02, 2018

really helped a lot

By Deiby M

Aug 01, 2018

Very good material


Oct 10, 2018

best course ever.

By Trunov O

Mar 21, 2018

All is very good!


Nov 29, 2017

Very good course!

By Angelo B

Mar 16, 2019

Very interesting

By Gerson R

Feb 01, 2019

Very Good Course

By manuel B L

Jul 21, 2018

Excelente Curso

By Deleted A

Dec 25, 2018

Great Course

By Symphorien L B

Dec 10, 2018


By Chandan G

May 19, 2018

Really great

By Zayar S T

May 27, 2018

Very Good!

By Thành N K

Jul 08, 2019

very good

By Daniel F G

Jan 24, 2019


By Cesar F C M

Sep 22, 2017



Nov 17, 2018


By septa v

Oct 16, 2018


By Frank M

Aug 05, 2018

this course taught about different of software design and architecture thank you so much

By Abinesh S

Jul 02, 2019

Good introductory course in Object Oriented Programming

By Viviana D

Nov 11, 2019

This course is a great introduction to OOP. I liked that all videos and all materials are well prepared, you can notice the effort and professionalism. The course is also very organized. Congratulations to the team. The methodology that coursera has to evaluate your knowledge is not the best since the peer reviews sometimes will not show feedback or where to improve.

By Stefan A

Apr 19, 2020

Very good course for the basics of software architecture and object oriented design. There is a lot about UML, which is still the industry standard. But i think, there are also a lot of other techniques in modern software design which are not discussed in the course. How is UML used in Agile projects? Are there Alternatives to UML?

By Yurii R

Mar 30, 2020

I got a lot of terms in the software engineering field. Also, there were useful information about software diagrams. However, practical works wasn't hard (since I was familiar with Java) especially the last capstone assignment. I think it's essential course for software developers who have some minimal practice with OOP.