OBJECT ORIENTED PROGRAMMING THROUGH ‘C++’ (Skill Based)

Paper Code: 
GCAI 401
Credits: 
3
Periods/week: 
45
Max. Marks: 
100.00
Objective: 

This module is designed to acquaint the students with the basics of C++ programming language.

Course Outcomes (Cos):

Learning and Teaching Strategies

Assessment Strategies

On completion of this course, the students will be able to:

CO21. Understand Object oriented paradigm and its characteristics
CO22. Compare object oriented and structure programming language.
CO23. Analyze the concept of object and classes and fundamental construct of C++ language
CO24. Discuss inheritance and it's type and devise programs for different types of implementation of inheritance
CO25. Analyze the concept of virtual class and dynamic binding.

Interactive Lectures, Discussion, Tutorials, Reading assignments, Demonstrations,

Team teaching, Teaching using video Tutorials.

Class test, Semester end examinations, Quiz, Solving problems in tutorials, Assignments, Presentation, Individual and group projects and peer review.

 

9.00
Unit I: 

Introduction to OO Paradigm, Structured Versus object-oriented programming, Objects and Class, features of object-oriented language (encapsulation, data abstraction, inheritance, Object composition, Polymorphism) Merits & demerits of OO methodology, Hello World Program and C++ program structure.

Data Types, Operators: Tokens, identifiers and keywords, data types and size, Variables, Variable definition and initialization, constants, Operators (Arithmetic, Relational, logical, Compound assignment, Increment, decrement and conditional operator).     

 

9.00
Unit II: 

Expression and Precedence: Arithmetic, Relational, logical Expression, Operator Precedence and associatively, promotion and type casting, Different types of comments  

Control Flow: Statement and blocks, if statement, if–else statement, Nested if–else statement, Switch statement, Break, continue statement, While, for and do-while loops, Scope and Visibility control Modifier.

Arrays and Functions:  Arrays, operations on Arrays, Multi-Dimensional Arrays, Strings, Strings manipulations and Arrays of strings, functions, Parameter passing, Return by reference, inline functions, Arrays and functions. Library functions.

9.00
Unit III: 

Classes and Objects: Class specification, Class Objects, Accessing Class Members, Constructors, parameterized constructors, constructor overloading, copy constructor, Order of Constructor and destructor, Static data members.     

Defining member function out side member function as inline, Accessing Member function within class, Data Hiding, passing object to functions and returning Objects from functions, friend functions and friend classes.          

 

9.00
Unit IV: 

Inheritance: Introduction, Form of in heritance, Derive class declaration, inheritance and member accessibility, Constructor and Destructor in Derive class, Constructor invocation, Function overloading, Member function overloading, Multi level inheritance, Multiple inheritance, Multi path inheritance, Hybrid Inheritance

9.00
Unit V: 

Object Delegation, Composition, Virtual base Class, Virtual Functions, Definition of virtual functions, Pure virtual function, Abstract Classes Virtual function, Dynamic binding. 

ESSENTIAL READINGS: 

Suggested Text Books

  • R. Lafore, “Object Oriented Programming using C++”, Galgotia Publications, 2004.
  • D. Parasons, “Object Oriented Programming with C++”, BPB Publication.
  • Schildt Herbert, “C++: The Complete Reference”, 4th Edition, Tata McGraw Hill, 2017.
  • S. B. Lippman & J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000.

 

Suggested Reference Books

  • A.R.Venugopal, Rajkumar, T. Ravishanker, “Mastering C++”, TMH, 1997
  • Yashwant Kanetkar , “Let us C++”, BPB Publications

 

REFERENCES: 

Reference Journals:

  • https://dl.acm.org/journal/ccuj
  • https://www.scirp.org/journal/articles.aspx?searchcode=+c%2b%2b+programming+language&searchfield=keyword&page=1&skid=0

 

E-Resources including links

  • https://spoken-tutorial.org/tutorialsearch/?search_foss=C+and+Cpp&search_language=English
  • https://spokentutorial.org/tutorialsearch/?search_foss=Advanced+Cpp&search_language=Enlish
    • https://www.geeksforgeeks.org/object-oriented-programming-in-cpp/
    • https://www.javatpoint.com/cpp-oops-concepts