CS3353
C PROGRAMMING AND DATA STRUCTURES
COURSE OBJECTIVES:
To
introduce the basics of C programming language.
•
To learn the concepts of advanced features of C.
•
To understand the concepts of ADTs and linear data structures.
•
To know the concepts of non-linear data structure and hashing.
•
To familiarize the concepts of sorting and searching techniques.
UNIT I
C PROGRAMMING FUNDAMENTALS (8+1 SKILL)
Data
Types - Variables - Operations - Expressions and Statements - Conditional
Statements - Functions - Recursive Functions - Arrays - Single and
Multi-Dimensional Arrays.
UNIT II
C PROGRAMMING - ADVANCED FEATURES (8+1 SKILL)
Structures
- Union - Enumerated Data Types - Pointers: Pointers to Variables, Arrays and
Functions - File Handling - Preprocessor Directives.
UNIT III
LINEAR DATA STRUCTURES (8+1 SKILL)
Abstract
Data Types (ADTs) - List ADT - Array-Based Implementation - Linked List -
Doubly- Linked Lists Circular Linked List - Stack ADT - Implementation of Stack
- Applications - Queue ADT - Priority Queues Queue Implementation -
Applications.
UNIT IV
NON-LINEAR DATA STRUCTURES (8+1 SKILL)
Trees
Binary Trees - Tree Traversals - Expression Trees - Binary Search Tree -
Hashing - Hash Functions Separate Chaining - Open Addressing - Linear Probing-
Quadratic Probing - Double Hashing Rehashing.
UNIT V
SORTING AND SEARCHING TECHNIQUES (8+1 SKILL)
Insertion
Sort - Quick Sort - Heap Sort - Merge Sort -Linear Search - Binary Search.
TOTAL
45 PERIODS
SKILL
DEVELOPMENT ACTIVITIES (Group Seminar/Mini Project/Assignment/Content
Preparation / Quiz/ Surprise Test / Solving GATE questions/ etc)
COURSE OUTCOMES:
CO1Develop
C programs for any real world/technical application.
CO2
Apply advanced features of C in solving problems.
CO3
Write functions to implement linear and non-linear data structure operations.
CO4
Suggest
and use appropriate linear/non-linear data structure operations for solving a
given problem.
CO5
Appropriately
use sort and search algorithms for a given application.
CO6
Apply
appropriate hash functions that result in a collision free scenario for data
storage and retrieval.
TEXT BOOKS:
1.
Mark Allen Weiss, "Data Structures and Algorithm Analysis in C",
Second Edition, Pearson Education, 1997.
2.
ReemaThareja, "Programming in C", Second Edition, Oxford University
Press, 2016.
REFERENCES:
1.
Brian W. Kernighan, Rob Pike, "The Practice of Programming", Pearson
Education, 1999.
2.
Paul J. Deitel, Harvey Deitel, "C How to Program", Seventh Edition,
Pearson Education, 2013.
3.
Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, "Data Structures and
Algorithms", Pearson Education, 1983.
4.
Ellis Horowitz, Sartaj Sahni and Susan Anderson, "Fundamentals of Data
Structures", Galgotia, 2008.
List
of Open Source Software/ Learning website:
https://www.coursera.org/specializations/data-structures-algorithms
https://nptel.ac.in/courses/112107243
https://nptel.ac.in/courses/112105598