About this Course
4.6
372 ratings
73 reviews
Specialization
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 20 hours to complete

Suggested: Four weeks of study, 5-8 hours/week...
Available languages

English

Subtitles: English...

Skills you will gain

Object-Oriented DesignObject-Oriented Analysis And DesignUnified Modeling Language (UML)
Specialization
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 20 hours to complete

Suggested: Four weeks of study, 5-8 hours/week...
Available languages

English

Subtitles: English...

Syllabus - What you will learn from this course

Week
1
Hours to complete
3 hours to complete

Object-Oriented Analysis and Design

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....
Reading
6 videos (Total 59 min), 9 readings, 4 quizzes
Video6 videos
1.1.2 – Software Architect and Design Roles in Industry20m
1.1.3 – Object-Oriented Modeling3m
1.1.4 – Software Requirements, Conceptual and Technical Designs9m
1.1.5 – Competing Qualities and Trade-offs8m
1.1.6 – Record, Organize, and Refine Components7m
Reading9 readings
Meet Your Presenter – Sam Jeffery10m
Meet Your Facilitators10m
Java Knowledge10m
Object Oriented Design Course Notes10m
Course Glossary10m
Discussion: Introduce Yourself10m
Expressing Requirements with User Stories10m
Categories of Objects in Design10m
Discussion: Modeling CRC10m
Quiz4 practice exercises
Java Proficiency Quiz 18m
Java Proficiency Quiz 28m
Java Proficiency Quiz 38m
Module 1 Review24m
Week
2
Hours to complete
6 hours to complete

Object-Oriented Modeling

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....
Reading
11 videos (Total 70 min), 3 readings, 3 quizzes
Video11 videos
1.2.2 – Languages Evolution6m
1.2.3 – Abstraction5m
1.2.4 – Encapsulation6m
1.2.5 – Decomposition5m
1.2.6 – Generalization5m
1.2.7 – Abstraction in Java and UML6m
1.2.8 – Encapsulation in Java and UML4m
1.2.9 – Decomposition in Java and UML8m
1.2.10 – Generalization with Inheritance in Java and UML7m
1.2.11 – Generalization with Interfaces in Java and UML8m
Reading3 readings
Discussion: Design Principles and Language Evolution10m
Ungraded Assignment - UML Class Diagram (Solution)10m
Capstone Assignment 1.1 - UML Class Diagram (Solution)10m
Quiz1 practice exercise
Module 2 Review24m
Week
3
Hours to complete
10 hours to complete

Design Principles

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....
Reading
8 videos (Total 63 min), 6 readings, 5 quizzes
Video8 videos
1.3.2 – Separation of Concerns9m
1.3.3 – Information Hiding6m
1.3.4 – Conceptual Integrity5m
1.3.5 – Inheritance Issues5m
1.3.6 – UML Sequence Diagram7m
1.3.7 – UML State Diagram7m
1.3.8 – Model Checking14m
Reading6 readings
Discussion: Coupling and Cohesion10m
Discussion: Design Principles10m
Ungraded Assignment - UML Sequence Diagram (Solution)10m
Capstone Assignment 1.2 - UML Sequence Diagram (Solution)10m
Ungraded Assignment - UML State Diagram (Solution)10m
Capstone Assignment 1.3 - UML State Diagram (Solution)10m
Quiz1 practice exercise
Module 3 Review24m
Week
4
Hours to complete
4 hours to complete

Capstone Challenge

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. ...
Reading
4 readings, 2 quizzes
Reading4 readings
Capstone Assignment 1.4 - Update the Application (Solution)10m
Discussion: Last Word – Object-Oriented Design10m
Acknowledgements10m
Credits10m
Quiz1 practice exercise
Final Examm
4.6
73 ReviewsChevron Right
Career direction

14%

started a new career after completing these courses
Career Benefit

83%

got a tangible career benefit from this course
Career promotion

10%

got a pay increase or promotion

Top Reviews

By RSNov 14th 2018

The course help me to understand the basics of Object Oriented Analysis and Design completely. The course almost complete the syllabus covered in academics of my curriculum.

By SAOct 13th 2018

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

Instructor

Avatar

Kenny Wong

Associate Professor
Computing Science, Faculty of Science

About University of Alberta

UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences....

About the Software Design and Architecture Specialization

In the Software Design and Architecture Specialization, you will learn how to apply design principles, patterns, and architectures to create reusable and flexible software applications and systems. You will learn how to express and document the design and architecture of a software system using a visual notation. Practical examples and opportunities to apply your knowledge will help you develop employable skills and relevant expertise in the software industry....
Software Design and Architecture

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.