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.
Object Oriented Programming is a comprehensive one-semester 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 semester, learners develop strong problem-solving skills, write well-structured OOP code, and understand how to design scalable and efficient software systems.
Build confidence with basic data handling in C++
• What are arrays and why they are used
• Initialization and randomization
• Searching (linear & binary)
• Sorting (bubble, insertion, selection)
• Two-pointer techniques
• Frequency & statistics problems
Work with matrix-style data
• 2D array initialization methods
• File & user input
• Traversal techniques
• Row/column sorting
• Matrix operations
Learn smart debugging and grid algorithms
• Using breakpoints & watches
• Maze path finding (S → E)
• Ripple search for shortest paths
• Number of islands problem
• Flood prevention simulation
Understand memory and addresses
• Pointer basics & initialization
• Pointer arithmetic
• Pointers with arrays & functions
• Dynamic memory (new/delete)
Work with structured data
• Struct memory layout
• 2D dynamic arrays
• Shallow vs deep copy
• Function pointers
Build a real game loop
• Window setup & FPS
• Keyboard input
• Random spawning
• Collision detection
• Score system
Move from structs to OOP
• Time class design
• Private vs public
• Constructors
• Data encapsulation
Build your own string system
• Constructors & destructor
• Deep vs shallow copy
• Operator overloading []
• stoi & itos
• Trim functions
Understand OOP conceptually
• History of programming
• Human body as OOP system
• Real-world OOP examples
Work with mathematical objects
• Dynamic memory
• Add, subtract, multiply
• Long division
• File-based input
Students use vectors to build a custom set data structure.
Students build a console-based text editor with navigation and editing features.
Students build a console-based text editor with navigation and editing features.
Students learn safe object relationships and deep copying.
Students study composition, aggregation, and association.
Students implement a sorted container with operator overloading.
Students build a Windows Form calculator using inheritance.
Students use virtual functions for dynamic behavior.
Students learns Pure Virtual Functions and Abstract classes and Multiple Inheritance Issue
Students will implement movement legality, six utility functions (IsHorizontalMove, IsVerticalMove, IsDiagonalMove and their 3 respective path clear functions). Later using those 6 functions build every piece-specific checks (IsRookLegalMove, IsQueenLegalMove), a unified LEGALITYCHECK, and memory diagrams for board state.
Students will implement pawn promotion, save & exit, replay, undo, restart without saving, check, castling, checkmate, stalemate rules, and detect illegal moves (including those leaving the king in check). Integration of all modules, memory mapping, pointers, and dynamic state ensures a fully functional system.
Students customize operators for user-defined types.
Students work with large numbers using Operator overloading in huge integers for inputting and displaying the huge integers
Students will do quantity-wise addition quantity-wise subtraction of huge integers
Students will write generic code using templates.
Students will learn to use professional containers and iterators.
Students will use STL containers like Stcck,Queue,Map
Students learn safe error handling.
Nourishing the Programmer in you!
schoolofseedprogramming@gmail.com
query@seedprogramming.org