Chevron Left
Back to Object-Oriented Design

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

4.7
stars
2,321 ratings

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

KH

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.

JS

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.

Filter by:

126 - 150 of 553 Reviews for Object-Oriented Design

By C S

•

Jun 30, 2022

As an introductory course I found this fair. It introduced concepts at a good pace, the material was well constructed and delivered, and the content was on topic with an emphasis on software design and not coding.

After completing this course you have an idea of how to go about solving your software problems visually and can communicate the state of the issue well with others. The terminology and UML are valuable tools that I will continue to practice going forward.

I did have some issues with Android studio, but the emphasis of this course was on software design, not code/frameworks.

By Jitto J T

•

Feb 18, 2021

The course helped bring all the concepts together. The concept of "Conceptual integrity" is the biggest takeaway for me - "Implementing software in a consistent manner as if it were written by one person". Over time, as multiple people work on the code base, it loses consistency and hinders readability and maintainability. That's why it is so important for teams to follow design principles, communicate frequently and effectively, and perform proper code review.Overall, a great course. I would recommend it to every one part of a software development team.

By Riccardo G

•

Mar 3, 2021

A very good introduction to software architecture and OOP. Much more serious than other courses and with practical experience in Android which is useful to apply theoretical concept in real programming.

For someone not used to Java programming or Android development this is both a challenge and an opportunity to learn, but for sure requires some time more.

Finally, I really appreciated the peer-to-peer review of assignment, it was the first time for me for this kind of evaluation and I really enjoyed it.

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 Vladislav K

•

Dec 13, 2022

It was not an easy, but very exciting and useful course. Now I have a better understanding of OOP, as well as learned how to construct UML diagrams. I highly recommend this course to every developer or those who want to become one. This course provides useful knowledge on how to write programs in an object-oriented paradigm. And many thanks to the entire course team!

By Wen Z

•

Aug 8, 2021

Very good introductory program design course, not only learned the way of software design, and further deepened the impression of object-oriented concepts, but also through a few major assignments to further strengthen the UML modeling language to solve practical problems; I am a beginner program Members, thank you very much for providing such a course.

By Stefano B

•

Feb 3, 2021

The course is really good. Lot of documentation that summarizes all the concepts, per reviewed graded capstone projects to put in practice what you have learned in the videos. Obviously it starts "from scratch" so it could be a little too basic for some, but it's still a good way of refreshing concepts you might have sort of forgotten.

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 Sanan N

•

Jun 2, 2023

My engagement with the subjects of this course was something I haven't experienced before. It's not one of those courses that you just watch the videos and proceed. You really have to learn the stuff in order to get the certificate. It took some hard work from me, but I realized that that's the way it SHOULD be. Thank you!

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.

By Al B

•

Jan 22, 2021

I really enjoyed this course. This is the first course I took with Coursera, and the content was well taught and quality, and went beyond my expectations. I plan to use the knowledge of conceptual and technical designs, as well as the types of UML diagrams I was introduced to in future projects.

By Amr A

•

Jun 7, 2020

This course is really really amazing, I just got a little thing that bugs, The final exam requires you to do a little video for andriod app, I had a little problem running andriod app on my machine first but after that It worked smoothly, It would be better if they could find a solution for that.

By Miguel A

•

Oct 9, 2019

I spent a lot of time looking how to be better at practicing OOP and this course was exactly what I needed. The material was clear and well explained and just all around fun to learn. Those video transcripts are awesome. Thumbs up to the course developers. Great work and Thank you.

By Kedar M

•

Apr 18, 2021

Very well designed course. Combination of theory and examples will help you apply your knowledge in everyday work. If your desire is to be a good software architect, every part of this course would be relevant to you and will help solidify the foundation you may already have.

By Akash C

•

Nov 3, 2020

It was a nice refresher of Object-Oriented Design principles and their importance in a software product. I would highly recommend this course to any (Java) developer, experienced or beginner, as it would help him/her to think critically about the Software Design on the whole.

By Nilanshu V R

•

Apr 28, 2022

Provides a great foundation for Object Oriented Design and the use of UML diagrams. Although the capstone assignment uses an Android project, knowing Android is not required to complete it. The capstone assignments provides guides to those who are not Android programmers.

By Vidas

•

Dec 12, 2020

Old and quite complex topic of object oriented design is explained very well in this course. Everyone who will join this course - take a time, deep dive into each topic, listen to each video, take part in discussions and enjoy being a good developer - you deserve this.

By Dmitry K

•

Dec 4, 2020

Good basic course. Strong practical part with UML and working on real app in Android Studio (though AStudio is too demanding to PC's resources that it becomes a pain to setup it for work). Want to see other courses of the Specialization now. Thanks to the authors!

By Mawin B

•

Nov 21, 2022

The course is very nice content, it is not too detailed, in my opinion is very comfortable for non-developer as well.

I suggest that you should have basic knowledge of OOP such as classes, variables, access modifiers, it. would be easier to follow the instructor.

By Ahmad S

•

May 5, 2021

Have a great experience learning this course. I enjoyed and learn a lot of new things and will definitely will help me in mu career. Thank you very much for providing such a beautiful course. A also hats off to the beautiful instructor for making things easy.

By Jep

•

Sep 25, 2020

Good course, I had previously done most of the contents of this course time ago but still then I wanted to repass and check my knowledge. I like the content and the way the course is done. I think all developers should constantly have this principles in mind.

By Rasoul A

•

May 22, 2020

A wonderful course full of academic , organized and important information

I recommend it to anyone who want to be a software engineer.

I is a perfect start to deeply understand the Object-Oriented Principles before starting to implement them in programming.

By Loi N

•

May 25, 2021

Through Coursera, I have studied many interesting subjects that I haven't known before. Interesting assignments, the way to cross-check student's work and peer's work is so great. I will spend more time studying other's Coursera in the upcoming time.

By Mashrukh R

•

Jul 25, 2020

Very great explanation of key object oriented design techniques. Applying changes to the android app while using various UML diagrams helped me solidfy my understanding. Course notes were amazing as well, and I wil keep as a future reference.

By Usman A

•

Jun 22, 2020

It is my start at coursera, i was less confidence when i started, as i have tendency to leave things in the middle, but as the course progressed, i got more and more interest in online learning, although the presenter is talking really fast.