Back close

Course Detail

Course Name Introduction to Data Structures with C
Course Code 25ARE101
Program B. Tech. in Automation & Robotics Engineering
Semester 1
Credits 3

Syllabus

Unit 1

Introduction and Review of C language constructs. Data types, variables, operations, statements – conditional, expressions, Functions – inter function communication, standard functions, scope. Recursion – recursive definition, recursive solution, designing recursive functions, limitations of recursion.  Arrays – 1D numeric, searching and sorting, 2D numeric arrays.

Lab:

  1. Write a C program using conditional statements to develop a simple calculator application.
  2. Write a C program with functions to perform payroll computation for employees.
  3. Write a C program using recursion to solve the Tower of Hanoi problem.
  4. Write a C program to implement searching and sorting for a student marks database using 1D arrays.
  5. Write a C program to perform matrix addition and multiplication using 2D numeric arrays.

Unit 2

Review of programming concepts, Pointers: introduction, compatibility, arrays and pointers, Dynamic memory allocation, arrays of pointers, pointer arithmetic. Strings: fixed length and variable length strings, strings and characters, string manipulation functions, sorting of strings. Structures: structure vs array comparison, complex structures, structures and functions, Union. Files and streams, file input output, command line arguments

Lab:

  1. Write a C program using pointers and dynamic memory allocation to manage a student record system.
  2. Write a C program to implement arrays of pointers and pointer arithmetic for matrix operations.
  3. Write a C program to perform string manipulation for text processing applications.
  4. Write a C program using structures and unions to store and display employee details.
  5. Write a C program for file input and output to maintain a simple inventory management system

Unit 3

Data abstraction – Abstract Data Types (ADTs) and supporting language features. Lists, arrays, linked list, double and circular linked list. Stacks, queues – priority queues and applications. Hashing-hash tables, hash functions, separate chaining, open addressing, probing – linear and quadratic, rehashing and double hashing. Algorithms and comparison.

Lab:

  1. Write a C program to implement a singly, doubly, and circular linked list with insertion and deletion operations.
  2. Write a C program to implement stack and queue using arrays and linked lists.
  3. Write a C program to implement a priority queue with insertion and deletion operations.
  4. Write a C program to implement hash table with separate chaining and open addressing (linear and quadratic probing).

Objectives and Outcomes

Course objectives

  • Familiarize data structures and algorithms.
  • Learn data types and structures using C language
  • Enable writing programs to solve practical engineering problems

Course outcomes

At the end of the course, the student will be able to

CO1: Develop and use the programming constructs to write and debug programs

CO2: Analyse performance of algorithms using arrays, pointers, strings, etc.

CO3: Implement stack, and queue data structures

CO4: Develop computer programs using frequent design patterns and program constructions.

CO/PO Mapping

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO1
1
2 1 1 1
CO2
1
2
1
1 1
CO3
2
2
2
2 1
CO4
2
3
2
1 1

Text Book/Reference Books

Text Book

E Horowitz, S. Sahani and Susan Anderson Freed. Fundamentals of Data Structures in C, University Press.2007

Gilberg and Forouzan. Data Structure – A Pseudo code approach with C, Thomson publication. 2007

Reference Books

Tanenbaum. Data Structure in C, PHI, 1989, Pearson publication.

Nell Dale, C++ Plus Data Structures 6th edition. 2016

Byron Gottfried. Programming With C. Fourth Edition, McGrawHill,; 2018

Pai. Data Structures and algorithms: concepts, techniques and algorithms. Tata McGraw Hill.2017

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now