MSc (Mathematics and Computing) Programme:Object Oriented ProgrammingThapar University
Price on request
Real Analysis – I
Fundamentals of Computer Science and C Programming
Discrete Mathematical Structure
Real Analysis –II
Advanced Abstract Algebra
Computer Oriented Numerical Methods
Data Based Management Systems
Computer Based Optimization Techniques
Object Oriented Programming
Introduction: Object Oriented vs. Procedural Programming , Procedural and OO Designs for a Sample Problem, Object Oriented Programming Features and Benefits, Object Oriented Methodology. The Object Model ,Characteristics of the Object Oriented Approach Identifying Object Classes, Class Identification Example, Sample C++ Class Definition
Enhancement of C++ over C.
Classes and Objects: Defining member functions, Members access control, Use of scope resolution operator, Making functions inline, Nesting of member functions, Private member functions, Memory allocation for objects, Static data members, Static member functions, Array of objects, Objects as function arguments, Friend functions and friend classes, Returning objects, const member functions.
Constructors and Destructors: Types of constructors- default, parameterized and copy constructors, Dynamic constructors, Multiple constructors in a class. Destructors for destroying objects. Rules for constructors and destructors. Dynamic initialization of objects, new and delete operators.
Operator Overloading and Type Conversions: Overloading unary, binary operators, Operator overloading using friend functions, Rules for overloading operators, Type conversions- Basic to class type, Class to basic type, One class to another class type.
Inheritance: General concepts of Inheritance, Types of derivation-public, private, protected. Types of inheritance: Single, Multilevel, Multiple and Hybrid inheritance. Types of base classes: Direct, Indirect, Virtual and Abstract. Constructors in derived classes, Containership, Polymorphism with pointers, Pointer to objects, this pointer, Pointers to derived classes, Virtual functions, Pure virtual functions.
Files and Streams: Streams, Stream classes foe console operations, Unformatted I/O operations, Formatted console I/O operations, Managing output with manipulators, File Streams, opening, reading, writing to file. File pointers and their manipulators.
Templates and Exception Handling: Class templates and function templates, overloading of template functions, Basics of exception handling, Exception handling mechanisms. C++ versus Java.
Laboratory Work: Implementation of object-oriented features using C++ including inheritance (all types), overloading: functional and operator, Polymorphism, Virtual functions, Case example/application development.