Course Course Course L T P C
21CSC201J DATA STRUCTURES AND ALGORITHMS C PROFESSIONAL CORE
Code Name Category 3 0 2 4
Pre-requisite Co- requisite Progressive
Nil Nil Nil
Courses Courses Courses
Course Offering Department School of Computing Data Book / Codes / Standards Nil
Course Learning Rationale (CLR): The purpose of learning this course is to: Program Outcomes (PO) Program
Know about searching and sorting techniques used to handle a set of data along with time and space Specific
CLR-1: 1 2 3 4 5 6 7 8 9 10 11 12 outcomes
complexity
CLR-2: Utilize various categories of list structures to develop solutions
Individual & Team Work
Engineering Knowledge
Design/development of
Project Mgt. & Finance
Conduct investigations
of complex problems
Explore usage of Stack and Queues in processing data for real time applications
Modern Tool Usage
CLR-3:
Life Long Learning
The engineer and
Problem Analysis
Communication
CLR-4: Understand tree structure and its applications
Environment &
Sustainability
CLR-5: Utilize hash tables for data storage and use graphs to solve real time problems
solutions
society
PSO-1
PSO-2
PSO-3
Ethics
Course Outcomes (CO): At the end of this course, learners will be able to:
CO-1: Devise algorithms to arrange the data in required order and retrieve a specific datum in efficient manner 1 2 3 - - - - - - - - 3 3 - -
Determine the type of list structure that could be used for solving a problem and implement it using C 2 3 3 - - - - - - - - 3 3 - -
CO-2:
programming language
CO-3: Devise solutions using linear structures Stack and Queue 2 3 3 - - - - - - - - 3 3 - -
CO-4: Express proficiency in usage of tree for solving problems 2 3 3 - - - - - - - - 3 3 - -
CO-5: Implement Hash tables for storing data and algorithms to find shortest path between nodes in a graph 3 2’ 3 - - - - - - - - 3 3 - -
Unit-1 - Introduction 15 Hour
Programming in C - Primitive data types, Structures, Self-referential structures, Pointers and structures, Dynamic memory allocation, Matrix multiplication; Data Structure – Definition, Types, ADT, Operations;
Mathematical notations - Big O, Omega and Theta, Complexity – Time, Space, Trade off.
Unit-2 - List Structure 15 Hour
Operations on List ADT – Create, Insert, Search, Delete, Display elements; Implementation of List ADT– Array, Cursor based and Linked; Types – Singly, Doubly, Circular; Applications - Sparse Matrix, Polynomial
Arithmetic, Joseph Problem
Unit-3 - Stack and Queue 15 Hour
Operations on Stack ADT – Create, Push, Pop, Top; Implementation of Stack ADT – Array and Linked; Applications - Infix to Postfix Conversion, Postfix Evaluation, Balancing symbols, Function Calls, Tower of
Hanoi; Operations on Queue ADT - Create, Enqueue and Dequeue; Implementation of Queue ADT – Array and Linked; Types of Queue - Circular, Double ended and Priority Queue, Applications – Scheduling
Unit-4 - Trees and Hashing 15 Hour
Introduction to Trees, Tree traversals, Complete Binary Tree and its height, Binary Search Trees, Need for Balance, Rotation, AVL trees, B Trees, Heaps, trees and array implementations and applications; Hash
functions - Introduction, functions, Collision avoidance, Separate chaining, Open Addressing, Linear Probing, Quadratic probing.
Unit-5 - Graph 15 Hour
Introduction to Graph, Graph Traversal, Topological sorting, Minimum spanning tree – Prims Algorithm, Kruskal’s Algorithm, Shortest Path Algorithm - Dijkstra’s Algorithm
14
B.Tech / M.Tech (Integrated) Programmes-Regulations 2021- Volume-11-CSE – Higher Semester Syllabi-Control Copy
Lab Experiments
Lab 1: Implementation of Structures
Lab 2: Implementation of Structures using Pointers
Lab 3: Implementation of Matrix Multiplication – Dynamic Memory allocation
Lab 4: Array Implementation of List
Lab 5: Implementation of Linked List
Lab 6: Implementation of Doubly linked List
Lab 7: Implementation of Stack using array and Linked List
Lab 8: Implementation of Queue using array and Linked list
Lab 9: Applications of Stack, Queue
Lab 10: Implementation of Tree using array
Lab 11: Implementation of BST using linked list
Lab 12: Implementation of B-Trees
Lab 13: Implementation of Graph using Array
Lab 14: Implementation of Shortest path Algorithm
Lab 15: Implementation of Minimal Spanning Tree
1. Seymour Lipschutz, Data Structures with C, McGraw Hill, 2014 4. Mark Allen Weiss, Data Structures and Algorithm Analysis in C, 2nd ed., Pearson Education, 2015
Learning 2. R.F.Gilberg, B.A.Forouzan, Data Structures, 2nd ed., Thomson India, 2005 5. Reema Thareja, Data Structures Using C, 1st ed., Oxford Higher Education, 2011,
Resources 3. A.V.Aho, J.E Hopcroft , J.D.Ullman, Data structures and Algorithms, Pearson 6. Thomas H Cormen, Charles E Leiserson, Ronald L Revest, Clifford Stein, Introduction to Algorithms
Education, 2003 3rd ed., The MIT Press Cambridge, 2014
Learning Assessment
Continuous Learning Assessment (CLA)
Summative
Formative Life-Long Learning
Bloom’s Final Examination
CLA-1 Average of unit test CLA-2
Level of Thinking (40% weightage)
(45%) (15%)
Theory Practice Theory Practice Theory Practice
Level 1 Remember 25% - - 10% 25% -
Level 2 Understand 25% - - 20% 25% -
Level 3 Apply 20% - - 30% 20% -
Level 4 Analyze 20% - - 30% 20% -
Level 5 Evaluate 10% - - 10% 10% -
Level 6 Create - - - - - -
Total 100 % 100 % 100 %
Course Designers
Experts from Industry Experts from Higher Technical Institutions Internal Experts
1. Dr. Mariappan Vaithilingam, Senior Engineering Manager, Uber 1. Dr. Venkatesh Raman, Professor, Mathematical Institute of 1. Dr. K. Vijaya, SRMIST
India Research and Development Pvt Centre, Bangalore. Science
2. Dr. S. Poornima, SRMIST
3. Dr. P. Saranya, SRMIST
15
B.Tech / M.Tech (Integrated) Programmes-Regulations 2021- Volume-11-CSE – Higher Semester Syllabi-Control Copy