Chevron Left
Back to Object-Oriented Design

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

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

501 - 525 of 540 Reviews for Object-Oriented Design

By Alexandre L

•

Jul 18, 2020

A bit long to get peer-reviews.

By Venkata K P

•

Apr 5, 2020

Perfect way to start about OOD.

By alpenstorm

•

Apr 16, 2024

pretty good course

By Han T

•

Mar 14, 2018

it's knowledgable

By ariouat h

•

Dec 1, 2020

very interesting

By Silverton d S G

•

Nov 23, 2019

Very good course

By Rajkumar M

•

Feb 18, 2020

Good & Thanks

By fanjieqi

•

Jan 31, 2019

Pretty well.

By Heba A

•

Feb 22, 2021

Good course

By VRATIK J P

•

Sep 7, 2020

nice

By KARPAGAJOTHI G

•

Aug 26, 2020

Good

By Nikhil R

•

Aug 2, 2020

Good

By Hoda M I

•

May 24, 2020

good

By 243_Suniti

•

Oct 3, 2021

.

By Евгений Ш

•

Mar 30, 2024

The course is not good and not bad. It introduces you to software design principles by describing some concepts. However, it is highly (too) abstract: you usually do not understand how to apply these principles in real software. Moreover, instead of explaining it, the course just provides you some analogies from the real life. So, this course can be considered as a glossary of buzzwords, not more. Also, there are no control of your knowledge or understanding. Instead of some objective control, the assignments are reviewed by different learners, and you do not know: either your assignment is correct or a reviewer does not understand the material in the same way as you or the reviewer just marked your assignment as correct without reviewing. Additionally, this course teaches you that data class is anti-pattern. No comments here.

By Cousin

•

Apr 13, 2022

Very good content, and the assignments are useful for reinforcing what you've learned (kind of). The two things that would make this course excellent would be:

1) Explanations along with the answers you get after turning in an assignment. Currently all you get is a picture, basically, and nothing in the way of explaining the "why". E.g., why is the relationship between object X and object Y composition and not aggregation? What are you supposed to look for in the code to make that judgement?

2) Better moderation of the forums. All the forums are littered with "review my assignment" posts. No discussion, no questions, no answers. It's useless and could be such a great resource.

By Deleted A

•

Oct 29, 2017

This edition of the course started well with Weeks 1 and 2 being very relevant and of high-quality. Things start sliding in Week 3 with a lecture on Model Checking which I still have to figure out of what use it can be for anyone. Week 4 skids and runs off the highway by being completely off-topic by having students complete a Capstone Assignment which is all about Android Application Development (which is NOT one of the course objectives) and very little about UML and Java. But, a re-work is not unrecoverable and would not require major re-work of the material already developed, IMHO.

By David B

•

May 3, 2021

The course moves at quite a pace, but there are a lot of exercises to do to reinforce things. This does make it something of a marathon of assignments and reviews of others assignments.

My biggest criticism is the use of a fairly complicated (and a bit flaky in my experience) Android phone simulator in which to write code and run the software. I took me a while to set up and understand, and I found myself uninstalling and reinstalling this to keep it working. This felt like an unnecessary overhead for just learning object orient design.

By Sarah S

•

Jan 4, 2018

Unfortunately the lectures feel like you are being "read to". There aren't any notes on the screen and the presenter reads a script. There is a lot of fluff in the lectures and the intro music is too long. I find myself spacing out a lot during them. It feels like there is about 30% content only in the video.

The assignments are good. I learned from them. The only thing is that there are not enough UML examples in the lectures. The lectures could be less reading to us, more showing example UML. That would be helpful for learning.

By Abigail T

•

Nov 4, 2023

Works as a review, but too shallow for first time learners. Lacking visualizations of concepts and supplemental readings, new learners to these concepts will likely not come out with a very strong understanding of the material unless they also study the material from a third-party source. Really in need of suggested reading material for further study. A self-learner could be lost if they don't understand the videos and limited examples.

By Kieran T

•

Oct 16, 2017

Some inconsistencies in the assignments leading them to take longer than advertised, particularly the final capstone - see the discussion forums. I got out a lot out of the course as a refresher, but I would have struggled if I was a beginner. It feels like this was rushed out a little too early and could benefit from someone from outside the original team spending a week trying to do all the assignments.

By Kelsey H

•

Sep 17, 2020

Class involves creating a lot of UML diagrams for a given android app. This is a bit difficult if you're not familiar with how Android programs are structured. I could never get the app to build correctly - luckily, that wasn't needed for the first few assignments.

This course has some useful information about principles of good software design, but it wasn't really supported in homework assignments.

By Nicola L

•

Oct 12, 2023

Great course if you are a beginner with UML diagrams, otherwise it's not that challenging. For this reason, the assignments can be a bit dull. Finally, installing and running the Android Studio project for the last capstone assignment requires a bit of troubleshooting from the student side, which is not really related with the course's topics

By Dario I

•

Dec 10, 2017

The subject is presented in a good way, the quality of the presentations is high. Unfortunately even if it is a beginner course, some topics are arguably correct. The quality of the capstone exercises / solutions is poor, there is room for improvement and I really hope that future iterations will address this problems.

By Bogdan N

•

Jul 7, 2019

Course teaches you some basics but it gets quite quickly over certain elements.

In a 7 minute/10 minute video you can't have a good understanding of the UML Sequence Diagram or UML State Diagram. I would have like to see more details on that part that could allow to do a better job at capstone projects.