B23-CTS-401 Data Structures and Applications
Part A – Introduction | |||
Subject | BCA (CTIS) | ||
Semester | IV | ||
Name of the Course | Data Structures and Applications | ||
Course Code | B23-CTS-401 | ||
Course Type: (CC/MCC/MDC/CC-
M/DSEC/VOC/DSE/PC/AEC/ VAC) |
CC-A4 | ||
Level of the course (As per Annexure-I | 200-299 | ||
Pre-requisite for the course (if any) | Knowledge of any Computer Programming Language | ||
Course Learning Outcomes(CLO): | After completing this course, the learner will be able to:
1. learn the basics of data structure and algorithm complexities. 2. acquire knowledge of arrays and strings. 3. understand the idea of implementation for linked lists and stacks. 4. learn various searching and sorting techniques along with the implementation of queues. 5* develop the project with data structures. |
||
Credits | Theory | Practical | Total |
3 | 1 | 4 | |
Contact Hours | 3 | 2 | 5 |
Max. Marks:100(70(T)+30(P))
Internal Assessment Marks:30(20(T)+10(P)) End Term Exam Marks: 70(50(T)+20(P)) |
Time: 3 Hrs.(T), 3Hrs.(P) | ||
Part B- Contents of the Course | |||
Instructions for Paper-Setter
The examiner will set a total of nine questions. Out of which the first question will be compulsory. The remaining eight questions will be set from four units selecting two questions from each unit. The examination will be of three-hour duration. All questions will carry equal marks. The first question will comprise short answer-type questions covering the entire syllabus. The candidate will have to attempt five questions, selecting one from each unit. The first question will be compulsory. The practicum will be evaluated by an external and an internal examiner. The examination will be of three-hour duration. |
Unit | Topics | Contact Hours |
I | Data Structure Definition, Data Type vs. Data Structure, Classification of Data Structures, Data Structure Operations, Applications of Data Structures.
Algorithm Specifications: Performance Analysis and Measurement (Time and Space Analysis of Algorithms- Average, Best and Worst Case Analysis). Arrays: Introduction, Linear Arrays, Representation of Linear Array in Memory, Two Dimensional and Multidimensional Arrays, Sparse Matrix and its Representation, Operations on Array: Algorithm for Traversal, Selection, Insertion, Deletion and its implementation. |
11 |
II | String Handling: Storage of Strings, Operations on Strings viz., Length, Concatenation, Substring, Insertion, Deletion, Replacement, Pattern Matching
Linked List: Introduction, Array vs. linked list, Representation of linked lists in Memory, Traversing a Linked List, Insertion, Deletion, Searching into a Linked list, Type of Linked List. |
11 |
III | Stack: Array Representation of Stack, Linked List Representation of Stack, Algorithms for Push and Pop, Application of Stack: Polish Notation, Postfix Evaluation Algorithms, Infix to Postfix Conversion, Infix to Prefix Conversion, Recursion.
Introduction to Queues: Simple Queue, Double Ended Queue, Circular Queue, Priority Queue, Representation of Queues as Linked List and Array, Applications of Queue. Algorithm on Insertion and Deletion in Simple Queue and Circular Queue. Priority Queues. |
12 |
IV | Tree: Definitions and Concepts, Representation of Binary Tree, Binary Tree Traversal (Inorder, postorder, preorder), Binary Search Trees – Definition, Operations viz., searching, insertions and deletion;
Searching and Sorting Techniques, Sorting Techniques: Bubble sort, Merge sort, Selection sort, Quick sort, Insertion Sort. Searching Techniques: Sequential Searching, Binary Searching. |
11 |
V* | Practicum:
Students are advised to do laboratory/practical practice not limited to but including the following types of problems: · Write a program that uses functions to perform the following operations on an array i) Creation ii) Insertion iii) Deletion iv) Traversal. · Write a program that uses functions to perform the following operations on strings i) Creation ii) Insertion iii) Deletion iv) Traversal. · Write a program that uses functions to perform the following operations on a singly linked list i) Creation ii) Insertion iii) Deletion iv) Traversal. · Write a program that uses functions to perform the following operations on a doubly linked list i) Creation ii) Insertion iii) Deletion iv) Traversal · Write a program that implement stack (its operations) using |
30 |
i) Arrays ii) Linked list(Pointers).
· Write a program that implements Queue (its operations) using i) Arrays and ii) Linked lists (Pointers). · Write a program that implements the following sorting i) Bubble sort ii) Selection sort iii) Quick sort. · Write programs for various types of tree traversals. |
|||
Suggested Evaluation Methods | |||
Internal Assessment:
➢ Theory · Class Participation: 5 · Seminar/presentation/assignment/quiz/class test etc.: 5 · Mid-Term Exam: 10 ➢ Practicum · Class Participation: NA · Seminar/Demonstration/Viva-voce/Lab records etc.: 10 · Mid-Term Exam: NA |
End-Term Examination:A three-hour exam for both theory and practicum.
End Term Exam Marks: 70(50(T)+20(P) ) |
||
Part C-Learning Resources | |||
Recommended Books/e-resources/LMS:
· Seymour Lipschutz, Data Structures, Tata McGraw- Hill Publishing Company Limited, Schaum’s Outlines. · Yedidyan Langsam, Moshe J. Augenstein, and Aaron M. Tenenbaum, Data Structures Using C, Pearson Education. · Trembley, J.P. And Sorenson P.G., An Introduction to Data Structures with Applications, McGraw-Hill. · Mark Allen Weiss, Data Structures and Algorithm Analysis in C, Addison- Wesley.
* Applicable for courses having practical components. |