OBJECT ORIENTED PROGRAMMING (CST-004) UTU

Object-Oriented Programming (OOP) is a programming paradigm that organizes software design around objects, encapsulating data and behavior.
0.0
(0)
9 Enrolled
40 hours
  • Intermediate
  • 9
  • 40 hours
  • September 15, 2024
  • Certificate of completion
Free

About Course

COURSE OBJECTIVES: The objectives of this course are to:

  1. Provide flexible and powerful abstraction.
  2. Allow programmers to think the problem in terms of the structure rather than in terms of structure of the computer.
  3. Decompose the problem into a set of objects.
  4. Objects interact with each other to solve the problem.
  5. Create new type of objects to model elements from the problem space

RSE OUTCOMES: On successful completion of the course, the student will be able to:

  1. Recognize features of object-oriented design such as encapsulation, polymorphism, inheritance, and composition of systems based on object identity.
  2. Apply some common object-oriented design patterns.
  3. Specify simple abstract data types and design implementations using abstraction functions to document them.
  4. Design a convenient way for the handling problems using templates and use simple try-catch blocks for Exception Handling.
  5. Manage I/O streams and File I/O oriented interactions.

Course Content :-

Unit 1- Object Oriented Programming Concepts:
Classes and Objects, Methods and Messages, Abstraction and Encapsulation, Inheritance, Abstract Classes, Polymorphism. Introduction to C++: Classes and Objects, Structures and Classes, Unions and Classes, Friend Functions, Friend Classes, Inline Functions, Static Class Members, Scope Resolution Operator, Nested Classes, Local Classes, Passing Objects to Functions, Returning objects, object assignment. Arrays, Pointers, References, and the Dynamic Allocation Operators: Arrays of Objects, Pointers to Objects, Type Checking, this Pointer, Pointers to Derived Types, Pointers to Class Members, References, Dynamic Allocation Operators.

 

Unit 2- Function Overloading and Constructors:
Function Overloading, Constructors, parameterized constructors, Copy Constructors, Overloading Constructors, Finding the Address of an Overloaded Function, Default Function Arguments, Function Overloading and Ambiguity. Operator overloading: Creating member Operator Function, Operator Overloading Using Friend Function, Overloading New and Delete, Overloading Special Operators, Overloading Comma Operator.

 

Unit 3- Inheritance and Polymorphism: Inheritance:
Base-Class Access Control, Inheritance and Protected Members, Inheriting Muitiple Base Classes, Constructors, Destructors and Inheritance, Granting Access, Virtual Base Classes. Polymorphism: Virtual Functions, Virtual Attribute and Inheritance, Virtual Functions and Hierarchy, Pure Virtual Functions, Early vs. Late Binding, Run-Time Type ID and Casting Operators: RTTI, Casting Operators, Dynamic Cast.

 

Unit 4- Templates and Exception Handling:
Templates: Generic Functions, Applying Generic Functions, Generic Classes, The type name and export Keywords, Power of Templates, Exception Handling: Fundamentals, Handling Derived Class Exceptions, Exception Handling Options, Understanding terminate() and unexpected(), uncaught_exception () Function, exception and bad_exception Classes, Applying Exception Handling.

 

Unit 5- I/O System Basics:
Streams and Formatted 1/O. File I/O: File Classes, File Operations. Namespaces: Namespaces, std Namespace. Standard Template Library: Overview, Container Classes, General Theory of Operation, Lists, string Class, Final Thoughts on STL.
Show More

What Will You Learn?

  • Understanding of core Object-Oriented Programming (OOP) concepts like classes, objects, inheritance, encapsulation, and polymorphism.
  • How to design reusable and modular code by implementing Object-Oriented Programming (OOP) principles.
  • Ability to create complex software systems through abstraction and data organization in Object-Oriented Programming (OOP).
  • Enhanced problem-solving skills using real-world modeling with objects and interactions in Object-Oriented Programming (OOP).

Material Includes

  • Tutorials and Guides on Object-Oriented Programming (OOP) concepts and techniques.
  • Code Examples and Samples illustrating OOP principles in practice.
  • Interactive Exercises and Quizzes to reinforce understanding and application of OOP.
  • Case Studies and Real-World Scenarios demonstrating the use of OOP in software design and development.

Requirements

  • Basic Programming Knowledge: Familiarity with fundamental programming concepts is recommended.
  • Access to a Programming Environment: An IDE or code editor for writing and testing code (e.g., Visual Studio Code, IntelliJ IDEA).
  • Understanding of Core Programming Concepts: Knowledge of variables, control structures, and functions or methods.
  • Readiness to Practice: Willingness to complete exercises and apply Object-Oriented Programming (OOP) principles in coding tasks.

Audience

  • Beginner programmers looking to understand Object-Oriented Programming (OOP) concepts.
  • Intermediate developers seeking to improve code organization and reuse through OOP.
  • Software engineers working on complex applications and system design.
  • Students and educators focusing on software development principles and methodologies.

Course Content

Unit 1- Object Oriented Programming Concepts:

  • Introduction of oop’s Concepts
  • Classes and Objects
  • Methods and Messages
  • Abstraction and Encapsulation
  • Inheritance
  • Abstract Classes
  • Polymorphism
  • Introduction to C++:
  • Classes and Objects
  • Structures and Classes
  • Unions and Classes
  • Friend Functions
  • Friend Classes
  • Inline Functions
  • Static Class Members
  • Scope Resolution Operator
  • Nested Classes
  • Local Classes
  • Passing Objects to Functions
  • Returning objects
  • Object assignment
  • Arrays
  • Pointers
  • References
  • Dynamic Allocation Operators :
  • Arrays of Objects
  • Pointers to Objects
  • Type Checking
  • Pointer
  • Pointers to Derived Types
  • Pointers to Class Members
  • References
  • Dynamic Allocation Operators

Unit 2- Function Overloading and Constructors:

Unit 3- Inheritance and Polymorphism: Inheritance:

Unit 4- Templates and Exception Handling:

Unit 5- I/O System Basics:

Instructors

R

RajKumar

Front End Developer🧑‍💻.
4.4
83 Students
10 Courses
No Review Yet
No Review Yet

Want to receive push notifications for all major on-site activities?