Syllabus

CS6202       PROGRAMMING AND DATA STRUCTURES I

 

OBJECTIVES:

The student should be made to:

·        Be familiar with the basics of C programming language.

·        Be exposed to the concepts of ADTs

·        Learn linear data structures – list, stack, and queue.

·        Be exposed to sorting, searching, hashing algorithms

 

UNIT I         C PROGRAMMING FUNDAMENTALS- A REVIEW

Conditional statements – Control statements – Functions – Arrays – Preprocessor - Pointers - Variation in pointer declarations – Function Pointers – Function with Variable number of arguments

 

UNIT II        C PROGRAMMING ADVANCED FEATURES

Structures and Unions - File handling concepts – File read – write – binary and Stdio - File Manipulations

 

UNIT III       LINEAR DATA STRUCTURES – LIST

Abstract Data Types (ADTs) – List ADT – array-based implementation – linked list implementation –– singly linked lists- circularly linked lists- doubly-linked lists – applications of lists –Polynomial Manipulation – All operation (Insertion, Deletion, Merge, Traversal)

 

UNIT IV       LINEAR DATA STRUCTURES – STACKS, QUEUES

Stack ADT – Evaluating arithmetic expressions- other applications- Queue ADT – circular queue implementation – Double ended Queues – applications of queues

 

UNIT V        SORTING, SEARCHING AND HASH TECHNIQUES

Sorting algorithms: Insertion sort - Selection sort - Shell sort - Bubble sort - Quick sort - Merge sort - Radix sort – Searching: Linear search –Binary Search Hashing: Hash Functions – Separate Chaining – Open Addressing – Rehashing – Extendible Hashing.

 

OUTCOMES

At the end of the course, the student should be able to:

·        Use the control structures of C appropriately for problems.

·        Implement abstract data types for linear data structures.

·        Apply the different linear data structures to problem solutions.

·        Critically analyse the various algorithms.

 

TEXT BOOKS

1.    Brian W. Kernighan and Dennis M. Ritchie, “The C Programming Language”, 2nd Edition, Pearson Education, 1988.

2.    Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”, 2nd Edition, Pearson Education, 1997.

 

REFERENCES:

1.    Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, Clifford Stein, “Introduction to Algorithms", Second Edition, Mcgraw Hill, 2002.

2.    Reema Thareja, “Data Structures Using C”, Oxford University Press, 2011

3.    Aho, Hopcroft and Ullman, “Data Structures and Algorithms”, Pearson Education,1983.

4.    Stephen G. Kochan, “Programming in C”, 3rd edition, Pearson Ed.,