COURSE INFORMATION SHEET – Jan 2019
PROGRAMME: Information Technology DEGREE: [Link]
COURSE: DATA STRUCTURES AND ALGORITHMS SEMESTER: 03 CREDITS: 3
COURSE CODE: IT2311 COURSE TYPE: CORE
REGULATION:2022
COURSE AREA/DOMAIN: IT/CSE CONTACT HOURS: 4 hours/Week.
LAB COURSE
NAME:DATA
CORRESPONDING LAB COURSE CODE (IF STRUCTURES
ANY):IT2381 LABORATORY
SYLLABUS:
UNI DETAILS HOUR
T S
I INTRODUCTION: LINEAR DATA STRUCTURES & ANALYSIS OF 9
ALGORITHMS
Introduction to Algorithms- Analysis of algorithm: Efficiency of an Algorithm -
frequency count and its importance - Time complexity & Space complexity.
Introduction to Data Structures - Types of data structures - Abstract Data Types.
Lists: Array Implementation - Dynamic Implementation - Singly Linked Lists -
Doubly Linked List - Circularly Linked List - Linked list application: Polynomial
Representation and Addition.
II 9
STACKS
Stack: Array and Linked Implementation - Application: infix to postfix conversion
- Evaluation of postfix expression - Recursion: Tower of Hanoi Problem -
Complexity analysis of Stack operations Queue: Array and linked implementation
of queues - Circular queues - double ended queue - Priority Queue - Complexity
analysis of Queue operations.
III UNIT III TREES 9
Binary Trees - Representation: Array and Dynamic Representation - Types - Binary
Tree Traversal
algorithms: Inorder – Preorder –Postorder - Threaded Binary trees - Huffman algorithm -
Dictionaries. Search Trees: Binary Search Trees (BST) - Insertion and Deletion in BST -
AVL trees - B Trees - Max Heap and Min Heap - Complexity analysis of tree traversal
algorithms
IV UNIT IV GRAPH STRUCTURES 9
Terminology - Representations of Graphs: Adjacency Matrices - Adjacency List -
Topological sort -
Graph Traversal: Depth First Search - Breadth First Search - Spanning Trees - Minimum
Cost Spanning Trees: Prims and Kruskal algorithm - Shortest Path algorithm: Warshal
Algorithm and Dijikstra Algorithm.
V UNIT V SEARCHING AND SORTING 9
Sequential search - Binary Search - Comparison and Analysis of searching - Types of
sorting - InsertionSort - Selection Sort - Bubble Sort - Quick Sort - Merge Sort -
Radix Sort - Complexity analysis of sorting algorithms-Hashing-Collision avoidance
techniques
Total 45
hours
TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION
T Text Books:
TEXTBOOK:
1. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”, 2nd Edition,
Pearson Education,1997.
R References:
1. Data Structures Using C and C++ – Aaron M. Tenenbaum, Yedidyah Langsam and Moshe
J. Augenstein, PHI Publications
2. An Introduction to Data Structures with applications – Jean Paul Trembley and Paul G.
Sorenson, McGraw Hill Publications
3. Data Structures and Program Design in C – R. Kruse etal, , Pearson Education
4. Data Structures – Lipschutz, Schaum’s Outline Series, TMH
5. Fundamentals of Data Structures – Horowitz and Sahani, Galgotia Publication
COURSE PRE-REQUISITES:
COURSE CODECOURSE NAME DESCRIPTION SEMESTER
CS2221 PROGRAMMING IN C C Programming basics 02
COURSE OBJECTIVES:
To understand the concepts of ADTs
To Learn linear data structures – lists, stacks, and queues
To understand sorting, searching and hashing algorithms
To apply Tree and Graph structures
COURSE OUTCOMES:
[Link]. Description Bloom’s Taxonomy Level
C121.1 Identify the asymptotic notations to find the Understand, Create (level 2 and 6)
complexity of an algorithm and define linear and
non-linear data structures
C121.2 Design, implement and analyze stacks and queue Understand, Create (level 2 and 6)
data structures according to the needs of different
applications
C121.3 Design, implement, and analyze efficient tree Apply (level 3)
structures to meet requirements such as inserting,
searching and deleting..
C121.4 Model problems as graph problems and Apply (level 3)
implement efficient graph algorithms to solve
them
C121.5 Analyze appropriate searching and/or sorting Apply (level 3)
techniques for application development.
CO-PO AND CO-PSO MAPPING:
PO PO PO PO PO PO PO PO PO PO PO PO PSO PSO PSO
CO
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
C121.1 3 2 2 - 2 - - - - - - 3 2 - -
C121.2 2 3 2 - 2 - - - - - - 3 2 - -
C121.3 2 3 3 - 2 - - - - - - 3 3 2 3
C121.4 2 3 3 - 2 - - - - - - 3 3 2 3
C121.5 2 2 3 - 2 - - - - - - 3 3 2 3
C121.6 3 3 3 - 3 - - - - - - 3 3 2 3
C121 3 3 3 - 3 - - - - - - 3 3 2 3
Note: Correlation levels 1, 2 or 3 defined as below:
1: Slight (Low) 2: Moderate (Medium) 3: Substantial (High)
- No contribution
JUSTIFICATION FOR CO-PO/PSO MAPPING:
MAPPING LEVEL JUSTIFICATION
The knowledge of basic constructs in C will help the students in solving complex
C121.1-PO1 3
engineering problems
Principles of mathematics and engineering sciences are used in implementing
C121.1-PO2 2
applications such as sorting, searching, and matrices.
Using the knowledge of conditional and looping statements, we can design and
C121.1-PO3 2 develop solutions for complex engineering problems such as quadratic equations,
matrices.
C121.1-PO5 2 Basic problem solving technique will be familiarized by the students.
Information acquired from basic problem solving technique provides lifelong
C121.1-PO12 3
learning in the design of application.
Study the concepts of C programming can acquire skills to design, analyze and
C121.1-PSO1 2
develop algorithms and implement them using C programming language.
C121.2-PO1 2 Students will acquire knowledge about accessing arrays
C121.2-PO2 3 Knowledge of handling strings and arrays helps students in problem analysis.
C121.2-PO3 2 Students gain the ability to design data structures using arrays.
C121.2-PO5 2 String handling techniques will be familiarized by the students.
The student will become aware of the need for lifelong learning in programming
C121.2-PO12 3
and the continued upgrading of technical knowledge
Study the concepts of C programming can acquire skills to design, analyze and
C121.2-PSO1 2
develop algorithms and implement them using C programming language.
The knowledge and usage of functions and pointers involves solving complex
C121.3-PO1 2
engineering problems
Design of programs with functions and pointers involves principles of mathematics
C121.3-PO2 3
and engineering
The knowledge of pointers with functions can be used to design and develop
C121.3-PO3 3
solutions for complex engineering problems
C121.3-PO5 2 Memory access using pointers will be familiarized by the students.
The student will become aware of the need for lifelong learning in programming
C121.3-PO12 3
and the continued upgrading of technical knowledge
Study the concepts of C programming can acquire skills to design, analyze and
C121.3-PSO1 3
develop algorithms and implement them using C programming language.
Knowledge of C programming concepts and its applications can contribute their
C121.3-PSO2 2
skills in knowledge engineering domain.
Study the concept of C programming and its applications contribute to develop
C121.3-PSO3 3 strong skills in developing, testing implementing and providing IT solutions for
different domains which helps in the betterment of life.
C121.4-PO1 2 The study of structures involves solving complex engineering problems
C121.4-PO2 3 The student will be able to create structures to store and maintain data.
C121.4-PO3 3 Students gain the ability to design structures used for handling related data.
C121.4-PO5 2 Data maintenance using structures will be familiarized by the students.
Information acquired from structures with pointers provides lifelong learning in
C121.4-PO12 3
program development.
Study the concepts of C programming can acquire skills to design, analyze and
C121.4-PSO1 3
develop algorithms and implement them using C programming language.
Knowledge of C programming concepts and its applications can contribute their
C121.4-PSO2 2
skills in knowledge engineering domain.
Study the concept of C programming and its applications contribute to develop
C121.4-PSO3 3 strong skills in developing, testing implementing and providing IT solutions for
different domains which helps in the betterment of life.
C121.5-PO1 2 Students gain the ability to learn about the file processing in program development.
C121.5-PO2 2 Knowledge of file storage helps students in problem analysis.
C121.5-PO3 3 Students gain the ability to design simple application involving file process.
C121.5-PO5 2 Data maintenance using file storage will be familiarized by the students.
C121.5-PO12 3 Students will be able to analyze different techniques used for file processing.
Study the concepts of C programming can acquire skills to design, analyze and
C121.5-PSO1 3
develop algorithms and implement them using C programming language.
Knowledge of C programming concepts and its applications can contribute their
C121.5-PSO2 2
skills in knowledge engineering domain.
Study the concept of C programming and its applications contribute to develop
C121.5-PSO3 3 strong skills in developing, testing implementing and providing IT solutions for
different domains which helps in the betterment of life.
Study the concept of problem solving using C involves solving complex engineering
C121.6-PO1 3
problems
Design of applications using functions, pointer and file processing techniques
C121.6-PO2 3
involves principles of mathematics and engineering
The knowledge of structure, function, pointer, file processing can be used to design
C121.6-PO3 3
and develop solutions for complex engineering problems
C121.6-PO5 2 Students will be familiarized with basic problem solving techniques using C.
The student will become aware of the need for lifelong learning and the continued
C121.6-PO12 3
upgrading of technical knowledge
Study the concepts of C programming can acquire skills to design, analyze and
C121.6-PSO1 3
develop algorithms and implement them using C programming language.
Knowledge of C programming concepts and its applications can contribute their
C121.6-PSO2 2
skills in knowledge engineering domain.
Study the concept of C programming and its applications contribute to develop
C121.6-PSO3 3 strong skills in developing, testing implementing and providing IT solutions for
different domains which helps in the betterment of life.
GAPS IN THE SYLLABUS - TO MEET INDUSTRY/PROFESSION REQUIREMENTS:
[Link]. Description Proposed Actions
1. Scenario based real time applications on trees and graphs Seminar
PROPOSED ACTIONS: TOPICS BEYOND SYLLABUS/ASSIGNMENT/INDUSTRY
VISIT/GUEST LECTURER/NPTEL ETC
TOPICS BEYOND SYLLABUS/ADVANCED TOPICS/DESIGN:
1. B+Trees in DBMS
WEB SOURCE REFERENCES:
1. [Link]
2. [Link]
3. [Link]
4. [Link]
DELIVERY/INSTRUCTIONAL METHODOLOGIES:
□ CHALK & TALK □ STUD. ASSIGNMENT □ WEB RESOURCES
□ LCD □ STUD. SEMINAR □ ADD-ON COURSES
ASSESSMENT METHODOLOGIES-DIRECT:
□ ASSIGNMENTS □ STUD. SEMINARS □ INTERNAL TESTS □ UNIV. EXAM
□ STUD. LAB □ STUD. VIVA □ MINI/MAJOR □ CERTIFICATIONS
PRACTICES PROJECTS
□ ADD-ON COURSES □ OTHERS
ASSESSMENT METHODOLOGIES-INDIRECT:
□ ASSESSMENT OF COURSE OUTCOMES □ STUDENT FEEDBACK ON FACULTY
( BY FEEDBACK)
□ OTHERS
Faculty In-charge HOD-IT