C is a powerful general purpose programming language used for creating a wide variety of system programs and applications. C++, developed as an extended version of C programming language, is one of the most preferred programming languages amongst software programmers. It can be used on a broad range of hardware and operating system platforms. This intermediate-level language offers imperative, object-oriented and generic programming features.
Data structure is a specific method of storing and organizing system data in order to use it efficiently. Large amounts of data including internet indexing services and large databases can be efficiently managed with the implementation of data structures. It also has a major role to play in designing efficient algorithms and system software programs.
Provide an overview of programming languages and problem solving techniques.
Develop programming skills with the understanding of the fundamentals and basics of C and C++ Languages.
Give complete information about arrays, strings, functions, structures, and pointers.
Provide complete understanding of classes and objects, constructors and destructors, and control structures.
Enable the uses the memory management concepts.
Provide understanding about the issues regarding file organization and the implementation of file systems.
Impart knowledge about data structures including linked lists, stacks & queues, and binary tree.
Write programs with the help of basic elements including control statements, arrays and strings.
Edit, compile, execute and get hard copy of a simple program.
Write a program using C++ arithmetic operators, input/output methods and appropriate manipulators for formatting.
Implement user defined functions to understand the code reusability.
Use pointers to overcome the memory access problems.
Learn inheritance and its types for code reuse.
Implement sorting and searching techniques in data structure.
Use character data and string processing, and create their own data type.
Understand the uses of both one dimensional and multi-dimensional arrays.
Use exception handling to avoid exceptions during program executions.
Get on over view of common data structures such as linked lists, stacks, queues, & tree.
Develop sophisticated applications using enumerated data types, function pointers and nested structures.
History of C
Characteristics of C
C Program Structure
Variables
Defining Global Variables
Printing Out and Inputting Variables
Constants
Arithmetic Operations
Comparison Operations
Logical Operators
Order of Precedence
Conditionals
The if statement
The? Operator
The switch Statement
The for statement
The while statement
The do-while statement
Break and continue
Defining, initializing and using arrays
Single and Multi-dimensional Arrays
Arrays of Characters and Strings
Arrays and pointers
Strings
Role of Functions
Passing arguments to functions
Returning values from functions
Recursive functions
Call back functions
Implications on Stack
Pass by value / reference
Passing Arrays to functions
Basic String handling functions
String Searching
Character Conversions and testing :
Memory Operations:
Structures
Nested Structures
Array of Structures
Allocation of memory and holes
Unions
Coercion or Type-Casting
Enumerated Types
Static Variables
Malloc, Sized, and Free
Calloc and Realloc
The purpose of pointers
Defining pointers
The & and * Operators
Pointer Assignment
Pointers with functions
Pointer Arithmetic
Advanced pointer types
Pointers to functions
Pointers to String
Pointers and Dynamic memory
Pointers and Structures
Common Pointer Pitfalls
Not assigning a pointer to memory address before using it
Illegal indirection
Scope
Internal
External
Automatic
Static
Scope and extent of parameters
Bitwise Operators
Bit Fields
Bit Fields: Practical Example
A note of Caution: Portability
#define
#undef
#include
#if – conditional inclusion
Preprocessor Compiler Control
Other Preprocessor Commands
String Conversion :
Arithmetic Functions
Random Numbers
String Conversion
Math Functions
Math Constants
Reporting Errors
perror()
errno
exit()
Streams
Predefined Streams
Redirection
Basic I/O
Formatted I/O
Printf
Scanf
Files
Reading and writing files
Sprintf and sscanf
Stream Status Enquiries
Linked Lists
Stacks & Queues
Binary Tree
Insertion Sort
Merge Sort
Quick Sort
OOPS…!
Structured versus Object Oriented Development
Elements of Object Oriented Programming
Objects
Classes
Encapsulation
Data Abstraction
Inheritance
Polymorphism
Templates
Exception Handling
Scope resolution Operator
Variables aliases(reference variables)
Parameters passing by References
Inline functions
Function Overloading
Default Arguments
Introduction
Structures and Classes
Class specification
Class objects
Class, Objects and memory resources
Accessing class members
Defining Member Functions
Outside member functions as inline
Accessing member functions with in class
Data Hiding
Passing Objects as arguments
riend Classes
tatic data members
tatic Functions
Introduction
Need of the Constructor
Parameterized constructor
Constructor overloading
Constructor with default arguments
Name less objects
Copy constructors
New and delete operators
Dynamic initialization through constructors
Introduction
Over loadable operators
Unary operator overloading
Operator return values
Name less Temporary Objects
Limitations of Increment and Decrement Operators
Binary Operator Overloading
Overloading New and Delete Operator
Comparison Operators
Data Conversion
Conversion between Datatypes
Conversion between basic and Objects
Conversion between Objects of different classes
Assignment operator overloading
Overloading with friend functions
Introduction
Derived class declaration
Forms of inheritance
Member Accessibility
Constructors in derived classes
Overloaded Member functions
Abstract classes
Multilevel Inheritance
Multiple Inheritances
Hierarchical Inheritance
Multipath Inheritance
Virtual Base Class
Hybrid Inheritance
Introduction
Need for virtual functions
Pointers of derived class objects
Definitions of Virtual Functions
Pure Virtual Functions
Dynamic Binding
Rules For virtual functions
Introduction
Function Templates
Overloaded Function Templates
Multiple Argument Function Templates
Class Templates
Class Templates with overloaded operators
Introduction
Error Handling
Exception Handling
Try, throw, catch
List of Exceptions
Specified, Unspecified exceptions
Handling Uncaught Exceptions
What are streams?
Console Streams
Unformatted, Formatted Console O/P
Creating(string) objects
Manipulating String Objects
Relational Operations
String Characteristics
Procedure-Oriented Development Tools
Object-Oriented Notations and Graphs
Steps in Object-Oriented Analysis
Steps in Object-Oriented Design
Implementation