Back to Object-Oriented Design
University of Alberta

Object-Oriented Design

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.

Status: Software Design Patterns
Status: Object Oriented Design
IntermediateCourse17 hours

Featured reviews

JS

5.0Reviewed 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.

GJ

5.0Reviewed Sep 25, 2022

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

YF

5.0Reviewed Apr 20, 2022

c​ourse 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

5.0Reviewed Jul 26, 2020

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!

VV

5.0Reviewed Mar 23, 2023

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

RC

5.0Reviewed Apr 27, 2022

Took this course to fill in knowledge gaps, was not disappointed. I would say this course may be most valuable for developers in their first 3-6 months in the industry.

DM

5.0Reviewed May 3, 2020

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.

NN

5.0Reviewed Feb 20, 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.

PP

5.0Reviewed Dec 26, 2021

A lot of effort went in to creating this course. It was awesome to participate in and was also fairly challenging. Thank you to the creators! Really great work.

AM

4.0Reviewed Jul 18, 2019

there are some errors in assignment and materialin general the assignments are very labor-intensive and do not seem to add too much value for real-world projects

ZA

5.0Reviewed Oct 4, 2020

It has been a very thorough course on OOD and it's good both for novice programmers and experienced programmers as an essential reminder on OOD principles which they are often neglected.

HT

5.0Reviewed Feb 15, 2021

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.

All reviews

Showing: 20 of 576

Javier Leyba
1.0
Reviewed Oct 16, 2017
Volodymyr Koshkarov
4.0
Reviewed Jan 6, 2019
Jukka Viherpelto
2.0
Reviewed May 25, 2020
Anton Malmygin
3.0
Reviewed Jun 27, 2019
Valerii Tereshchenko
1.0
Reviewed Oct 9, 2017
David Tucker
4.0
Reviewed Oct 29, 2019
Akshit Gupta
3.0
Reviewed Jun 6, 2019
Anastasiia Kolendo
3.0
Reviewed Aug 30, 2019
Nivedhitha
5.0
Reviewed Feb 21, 2019
Mike Diggins
2.0
Reviewed Oct 31, 2017
Michelle
5.0
Reviewed Jul 2, 2019
Artur Parkhisenko
5.0
Reviewed Apr 4, 2019
5.0
Reviewed Apr 8, 2019
KIRUPA VASINI
5.0
Reviewed Jun 28, 2019
pavithra
5.0
Reviewed Jun 22, 2019
Ankur kumar
5.0
Reviewed Apr 8, 2019
Jonathan Mitten
3.0
Reviewed Oct 3, 2018
Jaspreet Singh
5.0
Reviewed Aug 6, 2020
5.0
Reviewed Mar 29, 2020
Silvio Altmann
5.0
Reviewed Oct 13, 2018