C Programming Structure of a C program - Compilation and linking processes - Constants, Variables - Data Types - Expressions using operators in C - Managing Input and Output operations - Decision Making and Branching - Looping statements. Arrays - Initialization- Declaration - One dimensional and Two dimensional arrays. Strings - string operations - String Arrays. Simple programs - Sorting - Searching - matrix operations. Functions, Pointers, Structures and Functions - Pass by value - Pass by reference - Recursion - Pointers - Definition - Initialization - Pointers arithmetic. Structures and unions - definition - Structure within a structure - Union - Programs using structures and Unions - Storage classes, Pre-processor directives. Linear Data Arrays and its representations - Stacks and Queues - Linked lists - Linked list based implementation of Stacks and Queues - Evaluation of Expressions - Linked list based polynomial addition. Non-Linear Data Trees - Binary Trees - Binary tree representation and traversals - Binarty Search Trees - Applications of trees. Set representations - Union - Find operations. Graph and its representations - Graph Traversals. Searching and Sorting Linear Search - Binary Search. Bubble Sort, Insertion sort - Merge sort - Quick sort - Hash tables - Overflow handling.