## Introduction

This section will cover the types of data structure; and the basic data structures such as arrays and strings.

- Types of Data Structure
- Arrays
- Strings
- Recursion
- ADT (Abstract Dta type)
- Concept of Files
- Operations with files
- Types of files

## Linked List

It is a type of data structure which consists of storing data randomly and connecting them using “next” pointers. Learn the types of linked list, implementation and applications of it.

- Linked List as an ADT
- Linked List Vs. Arrays
- Memory Allocation & De-allocation for a Linked List
- Linked List operations
- Types of Linked List
- Implementation of Linked List
- Application of Linked List-polynomial
- sparse matrix

## Stack

This data structure follows LIFO (Last In First Out), the element which is put first in the stack is removed last and vice versa. This section will deal with the different types of representation of stack and its application.

- The Stack as an ADT
- Stack operation
- Array Representation of Stack
- Link Representation of Stack
- Application of stack - Recursion
- Polish Notation

## Queues

Queue follows FIFO (First In First Out), the element which is added first in the queue will be the first one to be removed. The different representations of queue and its application will be dealt in this section.

- The Queue as an ADT
- Queue operation
- Array Representation of Queue
- Linked Representation of Queue
- Circular Queue
- Priority Queue
- Dequeue
- Application of Queues - Johnsons Algorithm
- Simulation

## Trees

A tree is a non-linear Data structure which is a collection of nodes, and each node consists of a value. Basic tree operation, tree traversal techniques, different tree representations and various types of trees will be discussed in this section.

- Basic trees concept
- Binary tree representation
- Binary tree operation
- Binary tree traversal
- Binary search tree implementation
- Thread Binary tree
- The Huffman Algorithm
- Expression tree
- Introduction to Multiway search tree and its creation (AVL, B-tree, B+ tree)

## Graphs

This section will cover the basics of graph, which is a data structure that consists of vertices and edges to join different vertices (points). Graph representation and traversal would also be taught in this section.

- Basic Concepts
- Graph Representation
- Graph traversal (DFS & BFS)

## Sorting

Learn the need to sort data and the various types of sorting algorithms which are used.

- Sort Concept
- Shell Sort
- Radix sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Heap Sort

## Searching

Various algorithmic approaches to search for an element in an array or a linked list will be discussed.

- List Search
- Linear Index Search
- Index Sequential Search
- Hashed List Search
- Hashing Methods
- Collision Resolution

## Web Extensions:

## Declarations, Initialization and Scoping

## Open source Tools

- Version Control using RCS and CVS (hands on RCS in single Machine)

- Content management : Understanding working of Drupal (Basic Drupal components)

- Security assessment : OpenVAS