C++

C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.

MODULE-1

INTRODUCTION TO PROGRAMMING IN C++

Level 1:- Programming by Example in C++ Language:

  • C++ character set,
  • C++ Tokens
    • Identifiers,
    •  Keywords,
    • Constants,
    • Operators.
  • Structure of a C++ Program (include files, main function);
  •  Header files – iostream.h, iomanip.h; cout, cin;
  • Use of I/O operators (<< and >>),
  • Use of endl and setw(),
  • Cascading of I/O operators,
  • Error Messages;
  • Use of editor, basic commands of editor, compilation, linking and execution;
  •  standard input/output operations from C language: gets(), puts() of stdio.h header file;

Level 2:- Data Types, Variables and Constants:

  • Concept of Data types;  
  • Built-in Data types:
    • Char,
    • Int,
    • Float and
    • Double.
  • Constants:
    • Integer Constants,
    • Character Constants (Backslash character constants – /n, /t ),
    • Floating Point Constants,
    • String Constants;
  • Access modifier: const;
  • Variables of built-in data types,
  •  Declaration/Initialization of variables,
  •  Assignment statement;
  • Type modifier:
    • signed,
    • unsigned,
    • long;

Level 3:- Operators and Expressions:

  •  Arithmetic operators (-,+,*,/,%),
  •  Increment and Decrement Operators (–,++),
  •  Relational operators (>,>=,<,<=,==,!=),
  •  Logical operators (!, &&, ||),
  •  Conditional operator: ?:
  •  Precedence of Operators;
  •  Expressions; Automatic type conversion in expressions,
  • Type casting; C++ shorthand’s (+=, -=, *=, /=, %=);

Level 4:– Flow of control:

  • Conditional statements:
  • if-else,
    •  Nested if,
    • switch..case..default,
    • Nested switch..case,
    •  break statement (to be used in switch..case only)
  • Loops
  • while ,
    • do – while ,
    • for and
    •  Nested loops;

Level 5:- Structured Data Type: Array

  • Declaration/initialization of One dimensional array,
  • Inputting array elements,
  • Accessing array elements,
  • Manipulation of Array elements (sum of elements, product of elements, average of elements, linear search, finding maximum/minimum value);
  • Declaration/initialization of a two-dimensional array,
  • inputting array elements Accessing array elements,
  •  Manipulation of Array elements (sum of row elements)

Level 6:- String Manipulation

  • Declaration/Initialization of a String
  •  string manipulations
    • counting vowels/consonants/digits/special characters,
    • case conversion,
    • reversing a string,
    • reversing each word of a string
  • String and Character related Library functions: isalnum(), isalpha(), isdigit(), islower(), isupper(), tolower(), toupper(), strcpy(), strcat(), strlen(), strcmp(), strcmpi();

Level 7:- User Defined Functions:

  • Defining a function;
  •  function prototype,
  • Invoking/calling a function,
  •  passing arguments to function,
  • specifying argument data types,
  • default argument,
  • constant argument,
  • c all by value,
  •  call by reference,
  •  returning values from a function,
  • calling functions with arrays,
  • scope rules of functions and variables;
  •  local and global variables;

Level 8:- Mathematical and Other Functions:

  • Header Files
  • math.h
    • stdlib.h
  • Functions:
  • fabs(),
    •  log(),
    • log10(),
    • pow(),
    • sqrt(),
    • sin(),
    • cos(),
    • abs(),
    • randomize(),
    •  random() ;

Level 9: Event programming: Games as examples:

  • General Guidelines:
  • Initial Requirement,
  • developing an interface for user (it is advised to use text based interface screen),
  • developing logic for playing the game and developing logic for scoring points

MODULE-2

Level 1: Structures:

  • Defining a Structure,
  • Declaring structure variables,
  • Accessing structure elements,
  • Passing structure to Functions as value and reference argument/parameter,
  • Function returning structure,
  • Array of structures, passing an array of structure as an argument/ a parameter to a function;

Level 2: Object Oriented Programming:

  • Concept of Object Oriented Programming –
  • Data hiding, Data encapsulation,
  • Class and Object,
  • Abstract class and Concrete class,
  • Polymorphism (Implementation of polymorphism using Function overloading as an example in C++);
  • Inheritance,
  • Advantages of Object Oriented Programming over earlier programming methodologies,

Level 3: Implementation of Object Oriented Programming concepts in C++:

  • Definition of a class,
  •  Members of a class – Data Members and Member Functions (methods),
  •  Using Private and Public visibility modes, default visibility mode (private);
  •  Member function definition: inside class definition and outside class definition using scope resolution operator (::);
  •  Declaration of objects as instances of a class; accessing members from object(s),
  • Array of type class,
  •  Objects as function arguments – pass by value and pass by reference;

Level 4: Constructor and Destructor:

  •  Constructor: Special Characteristics,
  •  Declaration and Definition of a constructor,
  • Default Constructor,
  • Overloaded Constructors,
  • Copy Constructor,
  • Constructor with default arguments;
  • Destructor: Special Characteristics,
  • Declaration and definition of destructor;

Level 5: Inheritance (Extending Classes)

  •  Concept of Inheritance,
  •  Base Class, Derived Class,
  •  Defining derived classes, protected visibility mode;
  • Single level inheritance,
  • Multilevel inheritance and
  • Multiple inheritance, Privately derived,
  • Publicly derived and
  •  Protectedly derived class, accessibility of members from objects and within derived class(es);

Level 6: Data File Handling:

  • Need for a data file,
  •  Types of data files – Text file and Binary file;
  •  Basic file operations on text file:
  • Creating/Writing text into file,
  •  Reading and Manipulation of text from an already existing text File (accessing sequentially);
  • Binary File: Creation of file, Writing data into file, Searching for required data from file,
  • Appending data to a file, Insertion of data in sorted file,
  •  Deletion of data from file,
  •  Modification of data in a file;
  •  Implementation of above mentioned data file handling in C++;
  • Components of C++ to be used with file handling:
  •  Header file: fstream.h; ifstream, ofstream, fstream classes;
  •  Opening a text file in in, out, and app modes;
  • Using cascading operators for writing text to the file and reading text from the file; open(), get(), put(), getline() and close() functions;
  • Detecting end-of-file (with or without using eof() function);
  •  Opening a binary file using in, out, and app modes; open(), read(), write() and close() functions;
  • Detecting end-of-file (with or without using eof() function); tellg(), tellp(), seekg(), seekp() functions

Level 7: Pointers:

  • Declaration and Initialization of Pointers;
  • Dynamic memory allocation/deallocation operators: new, delete;
  • Pointers and Arrays: Array of Pointers, Pointer to an array (1 dimensional array),
  •  Function returning a pointer,
  •  Reference variables and use of alias;
  •  Function call by reference.
  •  Pointer to structures: Deference operator: *, ->; self referencial structures;

            MODULE-3

DATA STRUCTURES

Level 1: Arrays:

  • One and two Dimensional arrays:
  •  Sequential allocation and address calculation;
  •  One dimensional array:
    • Traversal,
    • Searching (Linear, Binary Search),
    •  Insertion of an element in an array,
    •  deletion of an element from an array,
  • Sorting
    • Insertion,
    • Selection,
    • Bubble sort),
  • concatenation of two linear arrays,
  • merging of two sorted arrays;

Level 2: Stack (Array and Linked implementation of Stack):

  • Operations on Stack (PUSH and POP) and its Implementation in C++,
  • Converting expressions from INFIX to POSTFIX notation and evaluation of Postfix expression;

Level 3: Queue: (Circular Array and Linked Implementation):

  • Operations on Queue
    • Insert and

Delete and its Impl