Chevron Left
Back to Object-Oriented Design

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

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

426 - 450 of 537 Reviews for Object-Oriented Design

By Vishnupriya.R

•

Jun 3, 2020

5

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 Liang-Yao W

•

Nov 14, 2022

The content and lecture video is great. Recommended for programers with at least some coding experience to learn about or refresh concepts on OOP and related UML. There is some problem with the peer review mechanism where you seem to get random irrelevant submissions that are not related to the assignment (maybe from some older version of this course?) along with some normal submissions. Also struggle with andriod studio for some time on my macbook. Overall a good resource to learn.

By PICCININI G

•

Jul 5, 2022

A very interesting, very challenging course. The only thing I didn't like is the final demonstration on Android, for those people like me with experience on server applications, it can be very difficult, both for lack of experience, and in my case also for reasons of age, the mobile applications are more affordable for young programmers, who have grown up with this type of implementation. However, I also studied Android and I did it. I learned one more thing.

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.

By Lorenzo C

•

Dec 5, 2019

Excellent explanations, video, content and topic organization. Good introduction to object oriented principles and design but I don'tlike the step where you have to correct the other assignments because if you want to go fast with lessons and close your course, you need wait a lot of time. If there aren't assignments to correct for some days, I think could be a good idea receive a bonus and get over to that task.

By GEORGIOS K

•

Aug 10, 2022

The lesson itself was very good, and the videos too.

The part that might need some enhancements is the grading of others. I mean, of course you cannot control everything, but in an assignment were I have completed everything except one grading question, someone gave me totally misleading grades. This makes me think that he/she didn't even take the time to review my assignment.

By Adam S

•

Apr 1, 2021

This course was very informative and easy to understand. From time to time i had an impression that used analogies could relate more to the software applications, not "real world", but that may be a preference. I had an issues with understanding differences between showed concepts, but that was marginal - a great part of it was clear and easy to follow.

Very good investment

By Leonardo R

•

Aug 4, 2020

Very good course. It seems to have thorough and relevant information. The only thing I would add maybe the ability to have a professor and/or assistant professor answer questions on a weekly basis. Perhaps a moderator of sorts in the forums. I think this is needed to provide reassurance of certain aspects of the course that may or may not be 100% clear to students.

By Michael K

•

Sep 11, 2023

The course was all in all very focused and well-delivered. Thanks to it, I managed to build a foundational knowledge of object-oriented design. But I do feel like the explanations were a bit dry because the presenter was reading off a prompt and not actually explaining the concepts. I also couldn't open any discussion that was assigned as a task, please fix that.

By Kelvin R

•

Nov 2, 2020

Overall good course. But I would suggest to add an explanation on the diagrams on some of the capstone assignment solution. Especially the sequence and state diagram part as there could be different way to show those diagrams, having an explanation on those solution diagrams would be helpful on why you arrived on those solutions...

By Jason D

•

May 31, 2020

Course content was excellent. Assignment helped solidify understanding of materials.

Grading of peer assignments was confusing. In some cases, multiple different assignments were dumped into the same forum. This could lead to case where I was asked to grade one assignment but instead was viewing a different student assignment.

By Bruno M

•

Nov 29, 2019

This is the first series of Software Architecture it really helped me to understand better Object Oriented Design. All the videos I watched where very intuitive and easy to understand, and they used great examples to explain things. My issue is that sometimes the discussions forums did not work.

By Ramzi Z

•

Sep 3, 2021

Overall a very well structured course with a clear explanation of Object-Oriented Design of Software solutions. Just, I did not like the fact that the capstone project is an Android application, would like to change it to a lightweight web application that could be tested/run anywhere. Thank you.

By Apurv A S

•

Jul 23, 2020

This course contains a lot of useful content but the lectures become boring at times. Also to complete the final assignment, one must have the knowledge of Android Studio and making Andriod Apps. Students who do not have that knowledge cannot complete the final assignment and hence the course.

By shashank

•

May 29, 2021

Loved the flow of the course , I really liked the examples and multiple practice sessions that helped me get the concepts like Decomposition- Association,Aggregation,Composition, Generalization,Encapsulation and Abstraction. which use to get tricky while trying to understand in general.

By ROHIT K

•

Aug 23, 2019

this review is giving by me for the teacher effort and their teaching style

.she is very well and well trained.

thank you so ,much and love you for teaching style and your style of speaking because many foreigner teacher is not audible but your excent is good

By Leandro M

•

Nov 11, 2017

The course is awesome. Now I really understand an UML diagram e know how to build one. The only part that needs improvement is the capstone project, too heavily based on Android development, so you will work a little more than expected to concluded it

By Tú P

•

Aug 29, 2020

The course contains so many useful concepts. It can much better if there are more practical exercise, more coding practice. The presenter of the course does not really attract students, sometimes it is quite boring when listening to her.

By Gerald H

•

Oct 18, 2019

The course content is good. The assignments are mainly drawing UML diagrams with peer review, where it can take quite long to get feedback. Overall a good course for beginners wanting to learn about good object oriented design.

By Johan C

•

May 14, 2018

The content was communicated quite well and the course notes are very useful. Unfortunately the way assignments are graded leaves a bit to be desired, but if you're less worried about how accurate your marks are you'll be fine.

By Mohamed I F

•

Nov 12, 2023

Good course and good content overall. However choosing Android as a development platform has its drawbacks, and takes away from the main focus of the course. I would have preferred vanilla java on PC. Not very SRP of you guys.

By Matthew G

•

Jun 10, 2020

I enjoyed the subject matter and particularly liked the thorough treatment of the various UML diagrams. I thought that the Android emulator plus app included too much overhead compared with the actual subject matter.

By Aleksejs R

•

Feb 8, 2023

Nice course with small "BUT". Android app development knowledge is required (at east basic) and be ready to install Android Studio on your laptop. It will be especially required in the last hands-on assignment .