Chevron Left
Back to Object-Oriented Design

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

4.7
stars
2,323 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

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.

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.

Filter by:

1 - 25 of 553 Reviews for Object-Oriented Design

By Javier L

•

Oct 16, 2017

Even when videos are OK, there are a lot of issues on this course:

1 - Even when they states in the course intro that "You will be challenged in the capstone project to apply your knowledge of object-oriented design by evolving and documenting a Java codebase with corresponding UML documentation.", reality shows that you will earn a certificate only if you are able to develop in Android language, what it was far, very far from my interest when enrolled.

if I had known I had to develop on Android I would not have enrolled, and I am wondering the reason why they did not remark that on the course intro to avoid any confusion.

2 - You are evaluated from other learners so, at the end, in case of doubt you will never be sure if you are right or the learner that is evaluating you is as wrong as you. There are no videos explaining proposed solutions so you will die in doubts if it is the case.

3 - However, they can solve points 1 and 2 by keeping instructors participating actively in forums helping and guiding learners (in fact, this is the reason why I have paid for the course) but the reality is that the instructors are near to "invisible" and a lot of questions remains unanswered.

For these reasons I feel totally cheated and will not try to finish the course and will lost my money.

if I wanted to learn android I would have signed up for a course on that subject and not in a UML design course.

My intention was to enrol me in the whole certification but I have realised that all the courses are Android based (and none of the them inform about such requirement) and after suffer the lack of help from instructors I will not enrol (or at least I will no pay) for them.

By Volodymyr K

•

Jan 6, 2019

The code in this course isn't maintained. You have to install old Android Studio in order to make things to work. Also, it is always a problem to get your assignments reviewed, you have to beg other classmates to do so. But I enjoyed a theoretical part and the quizzes.

The part about Model Checking was not explained (except of the high theoretical words), even after watching the lecture about it I'm still a bit confused.

Not bad course as a part of the specialization.

By Jukka V

•

May 25, 2020

Short version: Not worth your money. There should be better and free tutorials around to learn UML. Course makes some things unnecessary complicated or don't explain things well and that makes learning annoying.

Long version: I found many shortcomings and annoyances with this course. Course requires you to draw charts and diagrams for assignments without showing you proper example how it should be done. You need pretty much guess how they expect you to draw the chart or find examples elsewhere. Also you need to review another person's work before you get to see correct chart. How can you review and give feedback if you don't know correct answer?

Course requires you to make charts based on code. Isn't this wrong way around? As far as I know, UML charts are mostly made before coding and coding is done based on them.

I feel that using Android Studio for code examples is unnecessary complication. If you aren't very experienced with programming or don't know the environment it is very hard to complete some of the assignments.

By Anton M

•

Jun 27, 2019

Great video lectures. Some OO concepts presented in very clear way with simple analogies from real life.

The "awful" part is the capstone project exercises. You'll be working on simple Android app, drawing some UML diagrams. The code of this app is OK, but for course dedicated to OOD it can be done much better.

Feels like creators of the course didn't invest enough time in preparing those exercises.

By Valerii T

•

Oct 9, 2017

Videos are not bad, but assignments more about Android applications development (not covered in the course) than about Object-Oriented Design.

By David T

•

Oct 29, 2019

I am an Experienced programmer; the course provided a pretty good review of basic OO programming techniques (Encapsulation, Inheritance, etc.). Not that much that was really new to me, but still useful.

The Class assignments involve Android Software development, so if you are not an experienced Android developer you may spend more time learning Android than OO. If you have not done Android development and are not really interested in learning, this may not be the best class to take. I have a moderate amount of Android experience but not UI development so I spent a fair amount of time learning about Android App development, but since some of my job involves developing Android Apps it was probably worthwhile.

So if you're considering this class and are not an experienced Android developer, consider whether you want to learn OO AND Android, or just OO. In the later case, this may not be the right class for you.

By Akshit G

•

Jun 6, 2019

The peer-graded assignments are usually not very accurately graded. I would prefer a much more robust grading system to assess a student's understanding of the course material.

By Anastasia K

•

Aug 30, 2019

So tired to deal with the android system. Spent more time making it work than studying the material

By Nivedhitha

•

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.

By Michelle

•

Jul 2, 2019

Thank you for the content of the course. It was very well structured, and relevant to industry standards. I have also acquired new skills through this course. Will highly recommend it to anyone who is interested in object oriented design.

By Mike D

•

Oct 31, 2017

Decent videos give a short introduction to object oriented design. Oddly, the video lectures are not delivered by any professor, but rather by some student reading from a script. Still, these are decent, if a bit shallow and short. The weekly quiz is also reasonable and makes for a good review of the material. Where this course really falls down is on the capstone projects, especially the last one. The projects generally include a lot of busy work and the solutions given are poor examples. The last project is particularly bad. It claims to test one's ability to code from a set of design artifacts, but in reality it requires significant background knowledge in Android development to get it to work and the bulk of the effort has little or nothing to do with the course content. I recommend just watching the videos and doing the weekly quiz without doing the projects. They aren't worth the effort and the last one is completely unreasonable. I finished this course with a near perfect score, but I'm a 27 year industry veteran (just taking this to review my UML diagrams). I've also previously completed a five course specialization on Android development. It still took me about 8 hours to complete the final project and half of that was struggling with Android specific trivialities.

By Artur P

•

Apr 4, 2019

Very good course, provides you all what is needed to understand different UML diagrams, modelling and Design Principles.

By Kirupa v

•

Jun 28, 2019

Nice course

By pavithra

•

Jun 22, 2019

xcellent

By Ankur k

•

Apr 8, 2019

good

By Jonathan M

•

Oct 3, 2018

While I found the subject matter to be very important and very interesting, the construction of the course leaves some things to be desired. I took meticulous notes, studied before tests, and got great grades on the peer-graded assignments, but I was not prepared for left-field questions or assertions of subject matter that had not been discussed in lectures. For example, a capstone assignment with a whole new concept (presented as a hint) and no resources to educate on what it could mean. An inordinate amount of time was spent attempting, failing, and re-attempting to get Android Studio to work with the provided project files. Needed more resources than were provided, and there is zero feedback from the professor(s) in the forums, and students roll in and out of sessions not caring what the quality of work looks like.

By Jaspreet S

•

Aug 6, 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.

By Gurdial S

•

Mar 29, 2020

Excellent course and course material which is presented in really good way. Learned a lot about object oriented design from course material and also form interviews. Thanks for this course.

By Silvio A

•

Oct 13, 2018

Awesome course! Well structured, great course notes and nice assignments. Helps me already in my daily work as a Salesforce platform developer :)

By sachin m

•

Apr 7, 2019

I like completing this course, and i learnt a lot while solving challenging tasks.

By Diego M G

•

Apr 28, 2019

Nice , but i think : Using Android is very cumbersome to practice architecture.

By Vladimir

•

Jun 29, 2019

Now I have new useful techniques to solve my tasks. Thank you!

By ashishverma

•

Apr 5, 2019

nice course but hs lot of assignments

By Islam E

•

Jun 1, 2019

perfect content and instructors