University of Alberta

Object-Oriented Design

This course is part of Software Design and Architecture Specialization

Taught in English

Some content may not be translated

Kenny Wong

Instructor: Kenny Wong

115,761 already enrolled

Included with Coursera Plus

Course

Gain insight into a topic and learn the fundamentals

4.7

(2,266 reviews)

|

94%

Intermediate level
Some related experience required
17 hours (approximately)
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

7 quizzes

Course

Gain insight into a topic and learn the fundamentals

4.7

(2,266 reviews)

|

94%

Intermediate level
Some related experience required
17 hours (approximately)
Flexible schedule
Learn at your own pace

See how employees at top companies are mastering in-demand skills

Placeholder

Build your subject-matter expertise

This course is part of the Software Design and Architecture Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 4 modules in this course

Good software design begins before coding. After establishing the initial software requirements, design practices involve two main activities: conceptual design and technical design. In this module, you will realize the importance of design and object-oriented thinking, and learn how to design software using techniques like CRC cards.

What's included

6 videos9 readings4 quizzes

Best software design practices have evolved alongside programming languages. Today, all developers should be familiar with abstraction, encapsulation, decomposition, and generalization, which are fundamental principles in object-oriented design. You will learn all of these principles and how they are expressed in Java and communicated visually in Unified Modelling Language.

What's included

11 videos4 readings1 quiz2 peer reviews

Additional design principles will help you to create code that is flexible, reusable, and maintainable. In this module you will learn about coupling and cohesion, separation of concerns, information hiding, and conceptual integrity. You will also learn to avoid common pitfalls with inheritance, and ways to express software behavior in UML.

What's included

8 videos6 readings1 quiz4 peer reviews

In the previous modules you were introduced to object-oriented analysis and design, object-oriented modeling, and design principles. To cement your understanding of this material, you created a UML class diagram from an example Android code base, and used your understanding of the code base to make sequence and state diagrams to model its behavior. Now, in the final module of the course, given a description of new functionality and an updated UML class diagram, you will implement the updated design into the Android code base. After completing this development task, you will be ready to complete the final exam.

What's included

4 readings1 quiz1 peer review

Instructor

Instructor ratings
4.8 (476 ratings)
Kenny Wong
University of Alberta
12 Courses396,494 learners

Offered by

Recommended if you're interested in Software Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

Showing 3 of 2266

4.7

2,266 reviews

  • 5 stars

    76.20%

  • 4 stars

    18.64%

  • 3 stars

    3.34%

  • 2 stars

    0.70%

  • 1 star

    1.10%

JS
5

Reviewed on Aug 5, 2020

YF
5

Reviewed on Apr 20, 2022

SK
5

Reviewed on Nov 9, 2019

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions