Object Oriented Analysis, Design & Programming

Gain a thorough grounding in Object-Oriented principles through extensive UML modeling (including use cases, activity, class, sequence, and state diagrams), and core OOP concepts. Understand the principles with practical examples in Java, C++, and C#, and applied through a significant multi-language game project to solidify understanding and build practical design and programming skills.

Image14

Course Description

This course offers a comprehensive journey through the principles and practices of Object-Oriented Analysis, Design, and Programming (OOAD&P). It begins by establishing a strong foundation in understanding software complexity and decomposition, then transitions into detailed Object-Oriented Analysis using UML to model system requirements through use cases and activity diagrams. Subsequently, learners delve into robust Object-Oriented Design, mastering UML class, sequence, communication, and state diagrams while thoroughly applying core OOP concepts—abstraction, encapsulation, inheritance, and polymorphism. All theoretical principles are brought to life with practical implementation examples in Java, C++, and C#, showcasing how these cornerstone languages express OOP paradigms, and are further cemented through the step-by-step development of a significant multi-language game project, ensuring a deep, applicable understanding of the entire OO lifecycle.

Features

11-hrs On Demand Video

Exclusive 1-on-1 With Instructor

Course Completion Certificate

Priority Q/A

Full Lifetime Access

Community Access

Curriculum

Understand in detail on what is planned under each module

Promotional Video

Course Introduction

Eclipse Installation

VS2017 Installation

Course Material & Source Code

Software Complexity

Algorithmic Decomposition

Object Oriented Decomposition

Object Characteristics

UML Introduction

UML View Model

Object Model Concepts

Object Oriented Analysis with Use Cases

Use Case Description

Use Case Diagram

Use Case Relationships

Use Case Relationships in StarUML

Guidelines for Use Cases

Activity Diagram

Activity Diagram in StarUML

Merge and other notations

Fork and Join

Swimlanes

Introduction to Classes & Class Diagram

Class Diagram in UML

Abstraction

Abstraction in Java

Abstraction in C#

Abstraction in C++

Encapsulation

Encapsulation in Java - I

Encapsulation in Java - II

Encapsulation in C# - I

Encapsulation in C# - II

Encapsulation in C++

Encapsulation in C++

Class Diagram Revisited

Inheritance

Inheritance in Java

Inheritance in C#

Inheritance in C++

Containment

Aggregation and Association

Dependency

Polymorphism

Polymorphism in Java

Polymorphism in C#

Polymorphism in C++

Abstract Class

Interface

Design Overview

GameObject Class Implementation in Java

TrafficCar Class Implementation in Java

SideObject Class Implementation in Java

Player Class Implementation in Java

GameManager Class Implementation in Java

GameObject Class Implementation in C#

TrafficCar Class Implementation in C#

SideObject Class Implementation in C#

Player Class Implementation in C#

GameManager Class Implementation in C#

GameObject Class Implementation in C++

TrafficCar Class Implementation in C++

SideObject Class Implementation in C++

Player Class Implementation in C++

GameManager Class Implementation in C++

Communication Diagram - I

Communication Diagram - II

Communication Diagram - III

Communication Diagram - IV

Sequence Diagram - Part I

Sequence Diagram - Part II

Sequence Diagram - Part III

Sequence Diagram Part IV

Scene Class Discussion

Scene Implementation in Java - Part I

Scene Implementation in Java - Part II

Collision Behavior Implementation in Java - Part I

Collision Behavior Implementation in Java - Part II

Scene Implementation in C# - Part I

Scene Implementation in C# - Part II

Collision Behavior Implementation in C# - Part I

Collision Behavior Implementation in C# - Part I

Scene Implementation in C++ - Part I

Scene Implementation in C++ - Part II

Collision Behavior Implementation in C++ - Part I

Collision Behavior Implementation in C++ - Part I

Code Cleanup in Java

Code Cleanup in C#

Code Cleanup in C++

State Changes in Java

State Changes in C#

State Changes in C++

State Machine Diagram - I

State Machine Diagram - II

State Machine Diagram - III

Player States in Java

Healthkit Implementation in Java

State Behaviors in Java

More Powerups in Java

Player States in C#

Healthkit Implementation in C#

State Behaviors in C#

More Powerups in C#

Player States in C++

Healthkit Implementation in C++

State Behaviors in C++

More Powerups in C++

State Machine Diagram - IV

State Machine Diagram - V

Design Improvements

Powerup Factory in Java

SideObject Factory in Java

Powerup Factory in C#

SideObject Factory in C#

Powerup Factory in C++

SideObject Factory in C++

Package Diagram - I

Package Diagram - II

Component Diagram - I

Component Diagram - II

Component Diagram - III

Deployment Diagram - I

Deployment Diagram - II

Why Do This Course

Master the complete Object-Oriented Analysis, Design, and Programming (OOAD&P) lifecycle.

Gain practical proficiency in UML for visually modeling software requirements and system design.

See object-oriented concepts expertly demonstrated and implemented comparatively in Java, C++, and C#.

Develop a significant, hands-on game project applying object-oriented programming concepts from start to finish.

Learn effective strategies for decomposing complex software problems using OO techniques.

Requirements

  • Basic knowledge of C++, Java or C#
  • Visual Studio for C++ or C#, Eclipse for Java

Related Products

Additional products that may be relevant to your interests

Image23

Instructor


- Hello! I'm Umar Lone

I've educated and mentored students and professionals globally, leveraging over 20 years of experience in C++, Object-Oriented Programming, Design Patterns, and related technologies. My professional background includes significant contributions to C++, Java, and C# projects with esteemed companies, alongside providing specialized project consultation & mentoring.


My current focus is on delivering comprehensive video courses that distill this extensive knowledge. I specialize in transforming intricate concepts into clear, practical, and actionable insights, supported by real-world examples. This approach is designed to equip you with the necessary clarity and confidence for sustained growth and impactful contributions within your projects and career trajectory.


Begin your learning journey with me now and unlock the advanced understanding and practical expertise essential for making a significant impact in your field.


Keep in touch

Subscribe for announcements, new courses & discount coupons

Yes please, save my details so you can send me educational content that is relevant and helpful.