About this Course
4.7
466 ratings
99 reviews

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 20 hours to complete

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

English

Subtitles: English

Skills you will gain

Object-Oriented DesignObject-Oriented Analysis And DesignUnified Modeling Language (UML)

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 20 hours to complete

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

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
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....
6 videos (Total 59 min), 9 readings, 4 quizzes
6 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
9 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
4 practice exercises
Java Proficiency Quiz 18m
Java Proficiency Quiz 28m
Java Proficiency Quiz 38m
Module 1 Review24m
Week
2
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....
11 videos (Total 70 min), 3 readings, 3 quizzes
11 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
3 readings
Discussion: Design Principles and Language Evolution10m
Ungraded Assignment - UML Class Diagram (Solution)10m
Capstone Assignment 1.1 - UML Class Diagram (Solution)10m
1 practice exercise
Module 2 Review24m
Week
3
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....
8 videos (Total 63 min), 6 readings, 5 quizzes
8 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
6 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
1 practice exercise
Module 3 Review24m
Week
4
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. ...
4 readings, 2 quizzes
4 readings
Capstone Assignment 1.4 - Update the Application (Solution)10m
Discussion: Last Word – Object-Oriented Design10m
Acknowledgements10m
Credits10m
1 practice exercise
Final Exams
4.7
99 ReviewsChevron Right

16%

started a new career after completing these courses

17%

got a tangible career benefit from this course

Top Reviews

By NNFeb 21st 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.

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.

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.