All Computer/IT related notes with Syllabus...

Call Me: +9779812837886,+9779847871010

Pages

Object Oriented Programming in C++


Object Oriented Programming in C++
EG 1205 CT

 

Total: 6 hour /week
Year:        I
Lecture: 3 hours/week 
Semester:  II
Tutorial:   hours/week
Practical: 3 hours/week
Course Description:
This course deals to develop the skill on thinking about computation and problem solving in Object Oriented Paradigms. The course helps the students to discover the basic concepts of objectoriented programming concept such as object, class, inheritance, polymorphism, abstraction and encapsulation and apply in C++. 

Course Objectives:
After completing this course the students will be able to:  
1.     Explain  object oriented programming approach
2.     Design the problem and solution using object oriented design methods 
3.     Define various object oriented concepts such as class/object, abstraction, inheritance, operator overloading, dynamic binding, templates etc in C++ programming language
  Course Contents:
Units
Topics
Contents
Hours
Methods/ Media
Marks
1
Object
Oriented
Programming:
1.1. Overview of structured programming approach, problems with structured programming
1.2. Basics of object oriented programming
       Procedure oriented programming
       Object oriented programming
       Procedure oriented versus Object oriented programming
1.3  Characteristics of object oriented programming languages: object, class, data abstraction, polymorphism, overloading, encapsulation and  inheritance
1.4  Object oriented languages
1.5  Advantage and Disadvantage of OOP
4 hrs



2
Introduction to
C++
2.1 History and Evolution of C++
2.2 Features of C++
2.3 Structure of C++
2.4 C++ Vs C
2 hrs


3
C++ Language
Basics:
3.1 Character set, tokens (keywords, identifiers, operators)
7 hrs




Units
Topics
Contents
Hours
Methods/ Media
Marks


3.2 Commenting
3.3 Variable declaration
3.4 Data type
3.5 Type Conversion and promotion rules
3.6 Input/Output basics
3.7 Preprocessor directives
3.8 Control structures
3.9 Array, Pointer, String
3.10 Dynamic memory allocation
3.11 Functions
                Function overloading
                Default argument
                Inline function
                Pass by reference
                Return by reference 3.12 const construct
3.13 Structure and Unions 



4
Object and Class:
4.1 Class syntax  (similarities with structures)
4.2 Data Encapsulation (public, private modifiers)
4.3 Object and the member access 
4.4 Defining member function (inside and outside of the class)
4.5 Constructor and Destructor
4.6 Objects as function arguments
4.7 Returning objects from functions (nameless object)
4.8 Array of objects 
4.9 Pointer to objects 
4.10 Dynamic memory allocation for objects and object array
4.11 This pointer (returning object using this pointer)
4.12 Static data and function members
4.13 Constant data member of a class
4.14 Constant member functions and constant objects
4.15 Friend function and friend class 
8hrs



5
Overloading Operators:
5.1 Overloadable operators
5.2 Syntax of operator overloading
5.3 Unary operator overloading 
5.4 Binary operator overloading
5.5 Operator overloading using member operator functions (unary and binary)
4 hrs



Units
Topics
Contents
Hours
Methods/ Media
Marks


5.6 Operator overloading using friend operator functions (unary and binary)
5.7 Fundamentals of Operator Overloading, Restriction on operator overloading



6
Inheritance:
6.1 Base and derived class (definition with diagrams)
6.2 protected access specifier (show whole class syntax including protected)
6.3 Syntax of derived class declaration (visibility modes)
6.4 Types of inheritance 
       Single
       Multiple
       Hierarchical 
       Multilevel
6.5      Scope of inherited member functions and variables
6.6      Constructors in derived and base class
6.7      Destructor in Derived and base class
6.8      Member function and data overriding
6.9      Ambiguity in member access in overriding members
6.10   Virtual base class
5 hrs



7
Virtual functions:
7.1 Pointer to derived class object
7.2 Array of pointers to derived class objects with function overriding
7.3 Need of virtual functions 
7.4 Virtual functions definition
7.5 Pure Virtual functions and Abstract classes  7.6 Virtual Destructor
3 hrs



8
Input/output
Streams and
Files:
8.1 Input/output Stream class hierarchy
8.2 Unformatted Input/output 
8.3 Formatted Input/output 
       ios Stream class member functions and flags
       Standard manipulators
       User defined manipulators
8.4  File I/O with streams 
8.5  File stream class hierarchy
8.6  Operations on files 
8.7  ASCII and Binary files
8.8  Opening file, file modes and closing files
8.9  File read/write using stream and using read & write function
6 hrs



Units
Topics
Contents
Hours
Methods/ Media
Marks


8.10 File pointers and their manipulators
8.11 Testing for errors during file operations



9
Templates:
9.1 Function Template
9.2 Overloading function template
       Overloading with functions
       Overloading with other template
9.3  Class Template
9.4  Function definition outside of the class template
3hrs


10
Exception
Handling:          
10.1 Introduction to Exception.   
10.2 Benefits of Exception handling.  
10.3 Try and catch block. 
10.4 Throw statement.
10.5 Pre-defined exceptions in C++.
10.6 Writing custom Exception class. 
10.7 Stack Unwinding
3 hrs


Practical:

[45]


The lab exercise will be different aspects and features of the C++ programming language as follows :
1.     Write a program with the structured components of the C++ language
2.     Demonstrate a simple class and its implementation
3.     Create classes for data types such as complex no, date, time, distance etc and implement them in a program
4.     Demonstrate constructors and destructors along with the objects
5.     Apply static and constant member functions and data 
6.     Apply friends functions to act as bridge between the objects
7.     Write to overload different operators
8.     Write program to convert data from user defined to fundamental data and vice versa, and user defined to user defined type
9.     Write program to inherit the base class to add new functionality in the base class
10.  Apply virtual functions pointer to objects in program
11.  Demonstrate binary and ASCII file manipulation
12.  Write a program to create and use function and class templates
13.  Write a program to illustrate exception handling

Reference books:
1.     Balagurusamy, E. (2013). Object oriented programming with C++. New Delhi: Tata McGraw-Hill 
2.     Robert Lafore(2003), Object Oriented Programming in Turbo C++, Galgotia Publications Ltd. India, 2003 
3.     Schildt, H. (2003). C++: the complete reference (4th ed). New York: McGraw-Hill.
4.     Baral Dayasar & Baral Diwakar (2010), Secrete of Object Oriented Programming in C++, Kathmandu, Bhundipuran Prakashan 

No comments:

Post a Comment

Clock

Total Pageviews

Popular Posts

Keep Visiting Us For More Latest updates||Thank You||