About the course Data Structures CST 201 KTU
CST 201 DATA STRUCTURES
CATEGORY L T P CREDIT YEAR OF INTRODUCTION
PCC 3 1 0 4 2019
Preamble: This course aims at moulding the learner to understand the various data structures, their organization and operations. The course helps the learners to assess the applicability of different data structures and associated algorithms for solving real world problem which requires to compare and select appropriate data structures to solve the problem efficiently. This course introduces abstract concepts for data organization and manipulation using data structures such as stacks, queues, linked lists, binary trees, heaps and graphs for designing their own data structures to solve practical application problems in various fields of Computer Science.
Prerequisite: Topics covered under the course Programming in C (EST 102)
Course Outcomes
CO1 Design an algorithm for a computational task and calculate the time/space complexities of that algorithm (Cognitive Knowledge Level: Apply)
CO2 Identify the suitable data structure (array or linked list) to represent a data item required to be processed to solve a given computational problem and write an algorithm to find the solution of the computational problem (Cognitive Knowledge Level: Apply)
CO3 Write an algorithm to find the solution of a computational problem by selecting an appropriate data structure (binary tree/graph) to represent a data item to be processed (Cognitive Knowledge Level: Apply)
CO4 Store a given dataset using an appropriate Hash Function to enable efficient access of data in the given set (Cognitive Knowledge Level: Apply)
CO5 Select appropriate sorting algorithms to be used in specific circumstances (Cognitive Knowledge Level: Analyze)
CO6 Design and implement Data Structures for solving real world problems efficiently (Cognitive Knowledge Level: Apply)
Assessment Pattern
Bloom’s Category Continuous Assessment Tests End Semester
Test1 (Percentage) Test2 (Percentage) Examination Marks
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Internal Examination Pattern: Each of the two internal examinations has to be conducted out of 50 marks
First Internal Examination shall be preferably conducted after completing the first half of the syllabus and the Second Internal Examination shall be preferably conducted after completing remaining part of the syllabus. There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each from the completed modules and 1 question from the partly covered module), having 3 marks for each question adding up to 15 marks for part A. Students should answer all questions from Part A. Part B contains 7 questions (preferably, 3 questions each from the completed modules and 1 question from the partly covered module), each with 7 marks. Out of the 7 questions in Part B, a student should answer any 5.
End Semester Examination Pattern: There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from each module, having 3 marks for each question. Students should answer all questions. Part B contains 2 questions from each module of which a student should answer any one. Each question can have maximum 2 sub-divisions and carries 14 marks.
Teaching Plan
Module 1 :Basic Concepts of Data Structures (5 hours)
1.1 System Life Cycle, 1 hour
1.2 Algorithms , Performance Analysis 1 hour
1.3 Space Complexity, Time Complexity 1 hour
1.4 Asymptotic Notation (Big O Notation) 1 hour
1.5 Complexity Calculation of Simple Algorithms 1hour
Module 2 :Arrays and Searching (10 hours)
2.1 Polynomial representation using Arrays 1 hour
2.2 Sparse matrix (Lecture 1) 1 hour
2.3 Sparse matrix (Lecture 2) 1 hour
2.4 Stacks 1 hour
2.5 Queues, Circular Queues 1 hour
2.6 Priority Queues, 1 hour
2.7 Double Ended Queues, 1 hour
2.8 Conversion and Evaluation of Expressions (Lecture 1) 1 hour
2.9 Conversion and Evaluation of Expressions (Lecture 2) 1 hour
2.10 Linear Search and Binary Search 1 hour
Module 3 : Linked List and Memory Management (12 hours)
3.1 Self Referential Structures 1 hour
3.2 Dynamic Memory Allocation 1 hour
3.3 Singly Linked List-Operations on Linked List, 1 hour
3.4 Doubly Linked List 1 hour
3.5 Circular Linked List 1 hour
3.6 Stacks using Linked List 1 hour
3.7 Queues using Linked List 1 hour
3.8 Polynomial representation using Linked List (Lecture 1) 1 hour
3.9 Polynomial representation using Linked List (Lecture2) 1 hour
3.10 Memory de-allocation 1 hour
3.11 Memory allocation-First-fit 1 hour
3.12 Best-fit and Worst-fit allocation schemes 1hour
Module 4 :Trees and Graphs (8 hours)
4.1 Trees,Binary Trees 1hour
4.2 Tree Operations, Binary Tree Representation, 1hour
4.3 Tree Traversals 1hour
4.4 Binary Search Trees 1hour
4.5 Binary Search Tree Operations 1hour
4.6 Graphs, Representation of Graphs 1hour
4.7 Depth First Search and Breadth First Search on Graphs 1hour
4.8 Applications of Graphs 1hour
Module 5 : Sorting and Hashing (10 hours)
5.1 Sorting Techniques – Selection Sort 1hour
5.2 Insertion Sort 1hour
5.3 Quick Sort 1hour
5.4 Merge Sort 1hour
5.5 Heap Sort 1hour
5.6 Hashing- Hashing Techniques 1hour
5.7 Collision Resolution 1hour
5.8 Overflow handling 1hour
5.9 Hashing functions – Mid square and Division methods 1hour
5.10 Folding and Digit Analysis methods 1hour
Comments
Post a Comment