GJ
I learnt OOD concepts like never before and feel empowered to work on software in a more effective way than before.Thank you, Coursera and University of Alberta! :)

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.

GJ
I learnt OOD concepts like never before and feel empowered to work on software in a more effective way than before.Thank you, Coursera and University of Alberta! :)
YF
course introduce prefect content for beignner with good tasks that give you feedback about your progress at last thanks for all who helped me to finish this course
LL
This course is brilliant! Through this course, I gradually lay solid foundation in Object-Oriented Design, as well as improve my programming skills. I'd like to recommend it to my peers!
SK
Really helpful. I give this curs the maximum though I thing that it would be better if there were more assignments to practice. Or more examples even they are not reviewed in the videos.
VV
This course is very useful for me to improve towards programming language and UML intraction diagrams, the professor who taught this course is very intractive
NN
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.
NL
The course content was great. The capstone project had no instructions on how to compile the code with the latest Android Studio with many students asking for directions with no response.
JS
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.
MB
The course is easy to follow and exciting to pass. My special thanks to Sam, she is really nice host of this one) Tasks is pretty easy to complete if you have an software engineering experience
DM
This course is incredible because you can learn object-oriented design and they teach you in a simple way so that you can understand with clear and objective examples.
HT
Wonderful course. I have learned the concept of OOP and design process in this course. I recommend this course to students or professional who need some basic theory for their work.
KH
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.