0% found this document useful (0 votes)
204 views11 pages

CS2202::Data Structures Course Prerequisites: Course Objectives

This document outlines the course details for CS2202: Data Structures. The course aims to teach fundamental data structures and algorithms. It will cover topics like arrays, stacks, queues, linked lists, trees, graphs, and hashing. Students will learn to implement various data structures, solve problems using fundamental structures, and understand the importance of data structures for developing efficient algorithms. The course involves 3 hours of theory, 1 hour of tutorial, and 2 hours of lab per week over 5 credits.

Uploaded by

Shubham waghule
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
204 views11 pages

CS2202::Data Structures Course Prerequisites: Course Objectives

This document outlines the course details for CS2202: Data Structures. The course aims to teach fundamental data structures and algorithms. It will cover topics like arrays, stacks, queues, linked lists, trees, graphs, and hashing. Students will learn to implement various data structures, solve problems using fundamental structures, and understand the importance of data structures for developing efficient algorithms. The course involves 3 hours of theory, 1 hour of tutorial, and 2 hours of lab per week over 5 credits.

Uploaded by

Shubham waghule
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

FF No.

: 654
CS2202::Data Structures
Course Prerequisites: Basic programming Skills (C/C++).
Course Objectives:
1. To impart the basic concepts of data structures and algorithms.
2.To understand concepts about searching and sorting techniques.
3. To construct and implement various data structures and abstract data types including lists, stacks,
queues, trees, and graphs.
4. To make understand about writing algorithms and step by step approach in solving problems
with the help of fundamental data structures.
5. To emphasize the importance of data structures in developing and implementing efficient
algorithms.

Credits:..5...... Teaching Scheme Theory: …3…...


Hours/Week
Tut: …1…... Hours/Week
Lab: …2…... Hours/Week
Course Relevance: This is a basic Course for Computer Engineering and allied branches.
This course has a high relevance in all domains of computer engineering such as in Industries;
research etc. as a basic prerequisite course.
SECTION-1

Arrays, Stacks, Queues and Linked Lists.

Arrays: Representation and application of Single and Multidimensional arrays, Time & Space
Complexity Analysis.

Sorting Techniques: Quick Sort, Heap sort with Analysis.

Searching techniques: Linear Search, Binary search with Analysis.

Linked Lists: Dynamic memory allocation, Singly Linked Lists, Doubly linked Lists,
Circular linked lists and Generalized linked lists, Applications of Linked list.

Stack: Stack representation and Implementation using arrays and Linked lists. Applications of
stack in Recursion, Expression conversions and evaluations.

Queues: Representation and implementation using array and Linked lists, Types of queue.
Applications of Queues: Job Scheduling, Josephus problem etc.

SECTION-1I

Trees, Graphs and Hashing.

Trees:- Basic terminology, representation using array and linked lists. Tree Traversals:
Recursive and Non recursive, Operations on binary tree. Binary Search trees (BST).

Advanced Trees: Introduction, AVL tree, R-B tree, B tree and B+ tree.

Graphs: Terminology and representation using Adjacency Matrix and Adjacency Lists,
Graph Traversals and Application: BFS and DFS, Connected graph, Bipartite Graph,
Detecting Cycle in graph. Minimum Spanning tree: Prims and Kruskal’s Algorithm, Shortest
Path Algorithms, Union Find.

Hashing: Hashing techniques, Hash table, Hash functions. Collision handling and Collision resolution
techniques.
List of Tutorials: (Any Three)

1) Sorting Techniques: Insertion, Merge sort, Bubble, Shell Sort, Radix Sort.

2) Searching Techniques: Ternary Search, Fibonacci Search.

3) Problem solving using stack (Maze problem, Tower of Hanoi).

4) Expression conversion like infix to prefix and postfix and vice versa.

5) Priority Queues and Job Scheduling Algorithm.

6) Generalized Linked Lists.

7) Threaded Binary tree and Stack less Traversals using TBT.

8) B and B+ Tree.

9) Applications of Graph in Network problems.

10) Design of Hashing Functions and Collision Resolution techniques.

11) Cuckoo Hashing.


List of Practical’s: (Any Six)

1) Assignment based on Sorting and Searching.

2) Assignment based on Stack Application (Expression conversion etc.)

3) Assignment based on Queue Application (Job scheduling, resources allocation etc.)

4) Assignment based on linked list.

5) Assignment based on BST operations(Create, Insert, Delete and Traversals)

6) Assignment based on various operations on Binary Tree (Mirror image, Height, Leaf
node display, Level wise display etc.)

7) Assignment based on AVL and R-B tree.

8) Assignment based on DFS and BFS

9) Assignment based on MST using Prim’s and Kruskals Algorithm.

10) Assignment based on Finding shortest path in given Graph.

11) Assignment based on Hashing.


List of Projects:

1. Finding Nearest Neighbors.

2. Calendar Application using File handling.

3. Path finder in Maze

4. Word Completion Using Tire.

5. Bloom Filters.

6. Different Management Systems.

7. Scheduling Applications and Simulation.

8. Shortest Path Applications. (Kirchhoff’s Circuit, TSP with Scenario.)

9. Efficient Storage and Data Retrieval Systems.

10. Different Gaming Application.


List of Course Seminar Topics:

1. Asymptotic Notations in Data structures.

2. Hash Table, Heaps and Their applications.

3. Analysis of Merge Sort, Quick Sort and Bubble Sort for Best, Average and Worst Case.

4. Solving N-queen and Josephus Problem using Backtracking , Stack and Queue respectively.

5. Priority Queue in Job Scheduling.

6. Application of Stack in Backtracking problems.

7. Priority Heap and min-Max Heap.

8. Data Structures for Languages and Libraries.

9. Multidimensional and Special Data Structures.

10. Algorithm Designing using Divide and Conquer


List of Course Group Discussion Topics:

1. Application based comparison of Sorting Algorithms.

2. Graphs vs Tree Data Structures: Application based comparison? Which is best? Why?
How?

3. Advanced trees: which is the best? ( AVL,RB,B,B+) when? how? why?

4. Scenario Based Comparison: Kruskals vs Prims Algorithm.

5. Hashing application in today's technology. Is it necessary?

6. Application based comparison: Stack vs Queues.

7. B- Tress VS B+ Trees: Which is to be consider? When ? Why?

8. Need and Role of Different tree Traversals.

9. Graphs vs Tree Data Structures: Application based comparison? Which is best? Why?
How?

10. Linked List application in today's technology. Is it necessary?


List of Home Assignments:

Design:

1. Design Single Source multiple destination Shortest Path Algorithm For Driving
Application.

2. Expression Tree and Topological Sorting application in Problem solving.

3. Scheduling Algorithms using Queue.

4. Implementation of B and B+ trees for database management.

5. GLL application to Solve problems on Multivariable Polynomial. Consider suitable


example.

Case Study:

1. Consider a Suitable Example for Hashing Application. Study its Merits, Demerits and
Design.

2. Consider different real life examples where different sorting, Searching techniques have
been used. Why used? How? Comparative study.

3. Why there is a need of different tree traversal algorithms? Consider different real life
examples where they are used. Why? How?

4. Game Base study for data structures.

5. Compare different graph traversal algorithm by considering different real life examples
where they have used.

Blog

1. Comparative Application of Prims vs Kruskals Algorithm in real life scenarios.

2. AVL Tree vs RB Tree with applications

3. Need of different Sorting techniques.


4. How Hashing is useful in recent technologies? Consider any application related to it.

5. Role of Stacks and Queues in problem Solving.

Surveys

1. How application of Graph Search Algorithms ( DFS and BFS) is there in recent
technologies? Consider some real life technologies.

2. How Advanced Trees Data structure plays important role in Database management?

3. Survey of Data Structures for computer Graphics applications.

4. A survey on different hashing Techniques in programming.

5. Graph algorithms in Network Application.

Suggest an assessment Scheme:

MSE, ESE, GD, Seminar, HA, CVV, Lab Assignment, Course Project.

Text Books:

1. E. Horwitz , S. Sahani, Anderson-Freed, “ Fundamentals of Data Structures in C”,

Second Edition, Universities Press.

2. Y. Langsam, M.J. Augenstein, A.M.Tenenbaum, “Data structures using C and C++”,

Pearson Education, Second Edition.

3. Narasimha karumanchi, “Data Structures and Algorithm Made Easy”, Fifth Edition, CareerMonk
publication.
Reference Books:

1. J. Tremblay, P. soresan, “An Introduction to data Structures with applications”,


TMHPublication, 2nd Edition.

Moocs Links and additional reading material: www.nptelvideos.in,


www.geeksforgeeks.org

Course Outcomes:

The student will be able to –

1)To interpret and diagnose the properties of data structures with their memory representations
and time complexity analysis.(1)

2)To use linear data structures like stacks, queues with their applications.(2)

3)To implement operations like searching, insertion, deletion, traversing mechanism etc. on
various data structures with the help of dynamic storage representation.(3)

4)To demonstrate the use of binary tree traversals and to perform various operations on Non-
linear data structures.(5)

5) To analyze the Graph data structure and to solve the applications of Graph data
structures.(4)

6)To design the appropriate data structure by applying various hashing Techniques.(3)
CO PO Map

CO1 CO2 CO3 CO4 CO5 CO6

PO2 PO3 PO4 PO7 PO12 PSO1

2 3 3 2 1 3

CO attainment levels

CO1 -1, CO2 –2, CO3-3, CO4-5, CO5 -4, CO6-3

Future Courses Mapping:

Following courses can be learned after successful completion of this course: Advanced Data
Structures, Design and Analysis of Algorithms, Operating Systems, Compiler Design,
Systems Programming, Data Science and similar courses.

Job Mapping: Data Structures and Algorithm is must necessary part of any programming
job. Without Data structures it is not possible to be good in Competitive coding. All Industries always looks
for a strong knowledge in Data structures. Without learning this course one can’t imagine a job in
computer/IT related industries and research.

You might also like