The course is designed to introduce problem solving techniques by dividing large programs in to submodules through the concept of function in C++. Such programming technique simplifies programming tasks by re-use of modules in different programs or in the same program, facilitates understanding, debugging and maintaining the program. The course also introduces advanced data structures such as pointers enable dynamic allocation and de-allocation of memory, structures help to store and access records in an easy way, File Operations (File Input/output). Laboratory exercises are dedicated to practice the all basics on writing simple C++ programs and will reinforce basic programming concepts, logic flows and structured programming design using C++ function concepts, structure and pointer data types and file management.