Sign In  |  View Cart  |    |  Help  |  
 
Print Course information
Email to a friend
Return to Course Catalog

Course Catalog > On Demand Online Learning > Technology

Object-Oriented Design   

ABOUT THIS 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.

Difficulty Level: INTERMEDIATE

Estimated Learning Time:  17 hours

SKILLS YOU WILL GAIN:

Computer Programming

Design and Product

Software Architecture

Software Engineering

Theoretical Computer Science

INSTRUCTOR

Course Instructor PhotoKenny Wong
Associate Professor
Computing Science, Faculty of Science

 
  • Object-Oriented Design
  • Fee: $59.00