Course Objective: This course is designed to explore computing and to show students the art of computer programming. Students will learn some of the design principles for writing good programs.


Introduction to C++ programming: Fundamentals, Structure of a C++ program, Compilation and linking processes.

Expressions and Console I/O: Basic Data types, Identifier Names, Variables, Scope, Type qualifiers, Storage class specifier, Constants, Operators, Reading and writing characters, Reading and writing strings, Formatted and console I/O, cin(), cout(), Suppressing input.

Statements: True and False, Selection statements, Iteration statements, Jump statements, Expression statements, Block statements.

Arrays and Strings: Single dimension array, two-dimension array, Strings, Array of strings, Multi-dimension array, Array initialization, Variable length arrays.

Structures, Unions, Enumerations, and Typedef: Structures, Array of structures, passing structures to functions, Structure pointers, Arrays and structures within structures, Unions, Bit-fields, Enumerations, typedef.

Introduction to Object Oriented Programming with C++: Objects and Classes, basic concepts of OOPs (Abstraction, Encapsulation, Inheritance, Polymorphism), Constructors/Destructor, Copy constructor, Dynamic Constructor, Overloading (Function and Operator). 

Pointers: Pointer variables, Pointer operators, Pointer expressions, Pointers and arrays, multiple indirection, Pointer initialization, Pointers to arrays, dynamically allocated arrays, Problems with pointers, Pointers and classes, pointer to an object, this pointer.

Functions: General form of a function, understanding scope of a function, Function arguments, Command line arguments, Return statement, Recursion, Function prototype, Pointers to functions, Friend function and class.

Pre-processor and Comments: Pre-processor, #define, #error, #include, Conditional compilation directives, #undef, Single line and multiple line comments.

File I/O: Streams and files, File system basics, fread() and fwrite(), fseek() and random access I/O, fprintf() and fscanf(), Standard streams.

Laboratory Work:

To implement Programs for various kinds of programming constructs in C++ Language.





Course Learning Outcomes (CLO):

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

  1. write, compile and debug programs in C++ language.
  2. use different data types, operators and console I/O function in a computer program.

3.      design programs involving decision control statements, loop control statements and case control structures.

4.      understand the implementation of arrays, pointers and functions and apply the dynamics of memory by the use of poiners.

5.      comprehend the concepts of structures and classes: declaration, initialization and implementation.

6.      apply basics of object oriented programming, polymorphism and inheritance.

7.      use the file operations, character I/O, string I/O, file pointers, pre-processor directives and create/update basic data files.


Text Books:

1.      Kanetkar Y., Let Us C++, BPB Publications, 2nded.

2.      Balaguruswamy E., Object Oriented Programming with C++, McGraw Hill, 2013.


Reference Books:

1.      Brian W. Kernighan, Dennis M. Ritchie, The C++ Programming Language, Prentice Hall)

2.      Schildt H., C++: The Complete Reference, Tata Mcgraw Hill, 2003.