Seed Programming

Object Oriented Programming Accelerated - 2026

Total Fee
36,000 /- PKR

Registration Fee
1,000 /- PKR

In Collaboration with Information Technology University (ITU)

Who can join this course?

If you're at the beginning of a BS degree in Computer Science, Software Engineering, Data Science, Machine Learning, or Artificial Intelligence at any university or affiliated college in Lahore or its vicinity, this is an excellent opportunity to build a strong foundation for your journey in this field.

About Course

Object Oriented Programming is a comprehensive course that strengthens students’ foundations in C++ programming while introducing core Object-Oriented Programming (OOP) concepts. The course begins with a revision of arrays, pointers, and structs, then gradually moves into classes, encapsulation, constructors, inheritance, polymorphism, and operator overloading. Students gain hands-on experience through real-world projects such as a text editor, calculator, chess game, and huge integer system, along with STL-based data structures and template programming. The course also covers debugging techniques, memory management, exception handling, and software design principles.
By the end of the course, learners develop strong problem-solving skills, write well-structured OOP code, and understand how to design scalable and efficient software systems. Maintaining 75% attendance throughout this course is mendatory.

Course Outline

Lecture 1: Arrays, 2D Arrays & Structs

• Arrays basics & initialization
• 2D arrays & matrix traversal
• Row/column operations & matrix problems
• Structs & memory layout
• Deep vs shallow copy
• Student management system

Lecture 2: Grid Algorithms

• Path finding (maze), ripple search
• Number of islands

Lecture 3: Pointers, Dynamic Memory & Function Pointers

• Pointer basics & arithmetic
• Dynamic memory: new / delete
• 1D / 2D / 3D dynamic arrays
• Growable arrays
• Void pointers & generic swapping
• Function pointers & procedural programming limitations

Lecture 4: Introduction to OOP — Abstraction & Encapsulation

• Motivation for OOP
• Classes & objects
• Abstraction & encapsulation pillars
• Access modifiers
• Real-world analogies
• First class implementations

Lecture 5: Classes Deep Dive — Constructors, Destructors & this

• Getters & setters
• Constructors & destructors
• this pointer
• Static members & functions
• Header guards & ADTs
• Class design best practices

Lecture 6: Exception Handling & Safe Class Design

• try, catch, throw
• Generic catch blocks
• Applying exception handling in class design
• Input validation patterns
• Safe resource management

Lecture 7: Singleton, Multiton & Operator Overloading I

• Singleton & Multiton design patterns
• Operator overloading: arithmetic
• Boolean & unary operators
• Pre/post increment overloading

Lecture 8: Friend Functions, Copy Constructor & Deep Copy

• Friend functions
• Stream operators << and >>
• Copy constructor
• Assignment operator overloading
• Deep vs shallow copy revisited
• Memory-safe object design

Mid Exam

• Theory Exam
• Lab exam

Lecture 9: Advanced Operator Overloading & String Class

• Operator (), [] overloading
• Casting operator
• String class implementation
• Null terminator handling
• stoi & itos utilities
• Trim functions

Lecture 10: HugeInteger Class

• File handling
• Huge integer class
• Operator overloading in Huge Integer (+, -, ==. >)

Lecture 11: Polynomial Class, initializer list

• Polynomial class with dynamic memory
• Initializer lists
• Forward declaration

Lecture 12: Object Relationships and UML

• Composition & aggregation
• Association & dependency
• Memory management in object relationships
• Class dependencies
• UML class diagrams

Lecture 13: Inheritance & Polymorphism

• Inheritance: public, protected, private
• Protected members
• Member initialization in derived classes
• Polymorphism & method overriding

Lecture 14: Virtual Functions, Abstract Classes & Multiple Inheritance

• Virtual functions & late binding
• vTables & vtable pointer
• Abstract classes & pure virtual functions
• Dynamic casting
• Multiple inheritance & diamond problem

Lecture 15: Templates, STL Containers & Chess Project

• Function & class templates
• Template specialization
• STL: Stack, Queue, Priority Queue, algorithms & iterators
• Exceptional Handling try, catch, throw and Generic catch.

Final Exam

• Theory Exam
• Lab exam

Recorded Lectures

With lifetime access to our lecture content,
you can revisit and refresh your concepts at your convenience.