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

Data Structures Course Overview

Uploaded by

aaditya13102004
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)
15 views11 pages

Data Structures Course Overview

Uploaded by

aaditya13102004
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

Name of Department: Computer Science and Application

Course Handout

UGCSE201
Course Code

Data Structures
Course Title

LTPC Structure 3 + 0 + 2 = 4C
Course Type Program Core
Name of Faculty
Ankita Kumari
Member
Designation Assistant Professor
Contact Number 8409709933
Email [Link]@[Link]
This course introduces the core principles and techniques for Data
structures. Students will gain experience in how to keep a data in an ordered
Course Description
fashion in the computer. Students can improve their programming skills
using Data Structures Concepts through C.

This course gives the basic understanding of Data Structures and its usage
in programming principles. The main objective of this course is to
introduce the concept of data structure, how to choose a particular data
Scope and Objective
structure, and how the choice of a data structure impacts the performance
of algorithms. It also covers the time and space complexity analysis of
different searching and sorting techniques.

Program Name: Bachelor of Computer Science and Engineering


Program Outcomes (PO):
PO 1: Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization for the solution of complex engineering problems.
PO 2: Problem analysis: Identify, formulate, research literature, and analyze complex engineering
problems reaching substantiated conclusions using first principles of mathematics, natural sciences,
and engineering sciences.
PO 3: Design/Development of Solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate consideration
for public health and safety, and cultural, societal, and environmental considerations.
PO 4: Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.
PO 5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modelling to complex engineering activities with
an understanding of the limitations.
PO 6: The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal, and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
PO 7: Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and the need for
sustainable development. PO 8: Ethics: Apply ethical principles and commit to professional ethics
and responsibilities and norms of the engineering practice.
PO 9: Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
PO 10: Communication: Communicate effectively on complex engineering activities with the
engineering community and with the society at large, such as being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive clear
instructions.
PO 11: Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s work, as a member and leader in a
team, to manage projects and in multidisciplinary environments.
PO 12: Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
Program Specific Outcomes (PSO):
PSO1: Core Engineering Skills: Exhibit fundamental concepts of Data Structures, Databases,
Operating Systems, Computer networks, Theory of Computation, Advanced programming,
and Software Engineering.

PSO2: Standard Software Engineering practices: Demonstrate an ability to design, develop,


test, debug, deploy, analyze, troubleshoot, maintain, manage and secure software.

PSO3: Future Endeavors: Recognize the need to have knowledge of higher education
Institutions /organizations /companies related to computer science & engineering.

SYLLABUS
Name of Program: Bachelor of Computer Science and Engineering
Semester: III
Course Name - Data Structures Course Code: UGCSE201
3L+0T+2P=4C

COURSE OBJECTIVES- This course gives the basic understanding of Data Structures and
its usage in programming principles. The main objective of this course is to introduce the
concept of data structure, how to choose a particular data structure, and how the choice of a
data structure impacts the performance of algorithms. It also covers the time and space
complexity analysis of different searching and sorting techniques.
COURSE OUTCOME

On successful completion of the course, students will be able to achieve the following:
CO1: The student will develop an ability to read, write, and analyze the time and space
complexity of any algorithms.
CO2: Able to describe the properties, behavior, and implementation of basic data structures
like Stacks, Queues, Linked List, Trees, and Graphs.
CO3: Able to convert pseudocode to its appropriate C code implementation.
CO4: Able to compare different searching and sorting techniques.
CO5: Able to design and implement different hash functions, and hash tables.

OUTLINE OF THE COURSE

Module No Title of Module Time Required for Module (Hours)

1 Introduction to data structures 6

2 Stacks, queues and lists 8

3 Trees 8

4 Graphs 8

5 Sorting & Hashing 8

COURSE CONTENT
Module1: Introduction to Algorithms & Data Structure
Introduction: Data types, Abstraction, Concept of data structure, Types of data structures,
Operations on Data Structures, Introduction to Algorithms, Writing Pseudo codes,
Algorithm analysis, Complexity of algorithms and Time space trade-off, Arrays, Address
calculation in a single and multi- dimensional array. Searching: Linear and Binary search
algorithms and their complexity analysis.
Module2: Stacks, Queues and Lists
Definition, Array based implementation of stacks, Linked List based implementation of
stacks, Examples: Infix, postfix, prefix representation, Applications: Mathematical
expression Evaluation Queues: Array based implementation of Queues, Linked List
implementation of Queues, Circular implementation of Queues, Double ended queues.
Linked List: Singly linked Lists, Doubly linked list, Straight / circular implementation of
doubly linkedLists, Operations on linked lists, Priority queues, Applications.

Module 3: Trees
Non linear data structure, Trees: Basic Tree terminologies, Types of Trees: Binary Tree,
Binary Search Tree (BST), AVL Tree, B-Tree, and Heap. Representation and
Implementations of different types of trees, Tree Traversal algorithms, Operation on trees:
Insert Delete, etc., Applications of Tress.
Module4: Graphs
Graphs: Introduction to Graph and their Terminologies, Types of Graph, Representations of
Graph, Adjacency matrix, Spanning tree, Minimum Spanning Tree, Weighted graphs,
Shortest Path Algorithms, Graph Traversal – Breadth first Traversal, Depth first Traversal,
Connectivity of graphs.
Module5: Sorting & Hashing:
Sorting Algorithms and their Analysis: Selection Sort, Bubble sort, Insertion sort, Quick
sort, Merge sort, Heap Sort. Performance Analysis and Comparison of all sorting
techniques. Hashing: Hash Functions and its type, Hash Table construction, Collision
Resolution, Universal Addressing, Open Hashing.

LIST OF EXPERIMENTS:

S.
NO EXPERIMENT NAME Modules
.

Program to insert element at desire position, replacing element, deletion in


1 Module 1
array.

2 Program on various matrices operations. Module 1

3 Program on array searching (Linear and Binary) Module 1

4 Implementation of stack and queue using array and basic operations Module 2

5 Implementation of stack and queue using link lists Module 2

6 Implementation of circular queue using link lists. Module 2


7 Infix to postfix/prefix conversion. Module 2

8 Singly and Doubly linked lists Module 2

9 Write a program to implement the tree traversal methods Module 3

10 Implementation of Sorting Techniques Module 5

Text and Reference Books


S. Reference and Text Book Author Publication and Edition Nomenclature
No.

1 “ Data Structures using Aaron M. Tenenbaum, 2nd edition, 2006, T1,R1


C“, Pearson.1st Yedidyah Langsam, McGraw-Hill.
Edition.2019 Moshe J. Augenstein,

2 Data structures with C Schaum’s outline McGraw Hill T1,R1


series Education; 1st edition
(July 2017)

3 Fundamentals of Data Horowitz and Sahani Galgotia Publication, T2,R1


Structures 2nd Edition.2008

4 Data Structures and Robert Kruse PHI.2nd Edition.2006 T1,R2


Program Design in C

5 Mastering Algorithms Kyle Loudon O’Reily Publication T1,R3


with C

Any other suggested Materials:

CO-PO Mapping

CO
PO PO PO PO PO PO PO PO PO PO1 PO1 PO1
and
1 2 3 4 5 6 7 8 9 0 1 2
PO

CO
2 3 - 2 1 - - - - - - -
1

CO
1 - 2 - - - - - - - - -
2
CO
- 2 2 - 1 - - - - - - -
3

CO
1 - - - - - - - - - - -
4

CO
2 2 - 1 - - - - - - - -
5

CO-PSO Mapping

CO and PSO PSO1 PSO2 PSO3

CO1 2 - 1

CO2 2 - -

CO3 2 - -

CO4 1 1 -

CO5 2 - 1

Lecture Plan

Lecture Title of the Date of Date of Pedagogy Additional topics Reference


No. Lecture Planning Implementation to be discussed
(topics beyond
the syllabus and
may be four to
five topics against
every 10 lecture
topics)

Module 0: Introduction

1 Introduction of
course, vision,
mission, COs,
POs

Module 1: Introduction to data structures

2 Introduction: Data
types, Abstraction, PPT/C&T T1, R1
Concept of data
structure, Types of
data structures

3 Operations on Data
PPT/C&T T1, R1
Structures

4 Introduction to
Algorithms,
Writing Pseudo PPT/C&T T1, R1
codes, Algorithm
analysis

5 Complexity of
algorithms and
PPT/C&T T1, R1
Time space trade-
off

6 Arrays, Address
calculation in a
single and multi- PPT/C&T T1, R1
dimensional array

7 Searching: Linear
and Binary search
algorithms and PPT/C&T T1, R1
their complexity
analysis.

Module 2: Stacks, Queues and Lists

8 Definition, Array PPT/C&T T1, R2


based
implementation

9 Examples: Infix, PPT/C&T T1, R1


postfix, prefix
representation

10 Applications: PPT/C&T T1, R1


Mathematical
expression
Evaluation

11 Queues: Array PPT/C&T T1, R1


based
implementation of
Queues

12 Circular PPT/C&T T1, R1


implementation of
Queues, Double
ended queues.

13 Linked List: Singly PPT/C&T T1, R1


linked Lists and
Operations
associated with it

14 Stack and Queue PPT/C&T T1, R1


Implementation
Using linked list,

15 Straight / circular PPT/C&T T1, R1


implementation of
doubly linked Lists,
Priority queues

Module 3: Trees

16 Non linear data


structure - Trees:
Basic Tree PPT/C&T T2, R1
terminologies

17 Binary Trees,
Representation of
Binary Tree in PPT/C&T T2, R1
Memory

18 Traversing a
Binary Tree,
Algorithm for PPT/C&T T2, R1
Traversal of Tree
(using Stack)

19 Operations in
Binary Search Tree
Searching and PPT/C&T T2, R1
Insertion

20 Operations in
Binary Search PPT/C&T T2, R1
Deletion

21 Threaded
Trees,Balanced
multi way search PPT/C&T T2, R1
tree, a B-tree

22 AVL trees
PPT/C&T T2, R1

23 Heap Tree and


Applications of tree

Module 4: Graphs

24 Introduction to PPT/C&T T2, R2


Graph and their
Terminologies,
Types of Graph

Representations of PPT/C&T T2, R2


Graph Adjacency
matrix, Spanning
25 tree

Minimum PPT/C&T T2, R2


26 Spanning Tree

27 Weighted graphs PPT/C&T T2, R2

Shortest Path PPT/C&T T2, R2


28 Algorithms

Graph Traversal – PPT/C&T T2, R2


Breadth first
29 Traversal

Depth first PPT/C&T T2, R2


30 Traversal

31 Connectivity of PPT/C&T T2, R2


graphs.

Module 5: Sorting & Hashing

32 Sorting Algorithms PPT/C&T T1, R2


and their Analysis-
Selection Sort

33 Bubble sort PPT/C&T T1, R2

35 Insertion sort PPT/C&T T1, R2

36 Quick sort PPT/C&T T1, R2

37 Merge sort, Heap PPT/C&T T1, R2


Sort.

38 Performance PPT/C&T T1, R2


Analysis and
Comparison of all
sorting techniques.

39 Hashing: Hash PPT/C&T T1, R2


Functions and its
type, Hash Table
construction

40 Collision PPT/C&T T1, R2


Resolution,
Universal
Addressing, Open
Hashing.

41 Revision of Ppt/C&T
Module 1

42 Revision of
Module 2

43 Revision of module PPT/CT T1,R2


3

44 Revision of module PPT/CT T1,R2


4

45 Doubt class and PPT/CT T1,R2


Test of all

Course Assessment Plan:CAP


Assignment
COs Description BTL Mid Term Wt. End Term Wt.
Wt.
CO1: The student will develop an
ability to read, write, and analyze the
time and space complexity of any L2 Assignment-1 Q1 (5 Marks) Q1 or Q2
CO1
algorithms. L3 (5 Marks) I Mid Term 10 Marks

CO2: Able to describe the properties,


behavior, and implementation of
basic data structures like Stacks, Q2-5 Marks
L3 Assignment-2 Q3 or Q4
CO2 Queues, Linked List, Trees, and Q3-5 Marks
(5 Marks) 10 Marks
Graphs. I Mid Term

CO3: Able to convert pseudocode to


Q4-5 Marks
its appropriate C code L3 Q5 or Q6
I Mid Term
CO3 implementation. L4 Assignment-3 10 Marks
Q1-5 Marks
L6 (5 Marks)
II Mid Term
CO4: Able to compare different
L3 Q2-5 Marks
searching and sorting techniques. Assignment-4 Q7 or Q8
CO4 L4 Q3-5 Marks
(5 Marks) 10 Marks
L6 II Mid Term
CO5: Able to design and implement Q4-5 Marks
Assignment-5 Q9 or Q10
CO5 different hash functions, and hash L3 II Mid Term
(5 Marks) 10 Marks
tables.
Evaluation Scheme:

Maximum
Component Duration Date & Time Mode
Marks
Regular Mid Term
Mid Term I-Examination 01:30 hrs. 20 From Sept 7, 2024
Exams
Assignment-I 5 3rd Week of August Through ERP LX

Assignment-II 5 2nd Week of Through ERP LX


September
Assignment-III 5
1st Week of October Through ERP LX

Assignment-IV 5 Last Week of Through ERP LX


October
Assignment-V 5 nd
2 Week Of Through ERP LX
November
5 Through ERP LX
A6 Project Nov 25, 2024
5 Through ERP LX
Quiz-I 30 Mins 3rd Week of August
5 Last Week of Through ERP LX
Quiz-II 30 Mins
October
Regular Mid Term Exams
Mid-term II -Examination 01:30 hrs. 20 From Nov 25, 2024 Through ERP LX
(Open Book)
From Dec 02,
End Term Examinations 03:00 hrs. 50
2024
Regular End Term Exams

Name:
Signature:

Ankita Kumari
Assistant Professor, CSA Department
Contact No: 8409709933
Email id: [Link]@[Link]

Common questions

Powered by AI

The course on Data Structures underlines the importance of choosing suitable data structures by demonstrating how this choice affects algorithm performance through time and space complexity analysis . It covers various data structures like arrays, stacks, queues, lists, trees, and graphs, and their specific operational attributes, which directly influence algorithm efficiency and utility . By equipping students with the ability to compare different data structures, the course allows them to optimize algorithm design tailored to given problems, which aligns with course objectives outlined in CO2 and CO4 .

Hands-on implementation is crucial for achieving the course learning outcomes as it allows students to apply theoretical concepts in practical scenarios, thus reinforcing their understanding of data structures operation and implementation. For instance, programming exercises for hash tables and queues facilitate a deeper grasp of their use cases, performance considerations, and memory handling . This practical approach supports Course Outcomes like implementing and comparing data structures (CO5), enhancing programming proficiency, and aligning with Program Outcome 5 (PO5) regarding tool usage and modern IT practices . Such experiential learning ensures students are prepared for real-world engineering challenges by providing them with necessary programming and analytical skills.

The course objectives and outcomes align with the educational goals of the Bachelor of Computer Science and Engineering program by ensuring that students gain foundational and advanced knowledge critical in computing and engineering contexts. Course objectives focus on understanding data structures and their impact on algorithm performance, corresponding with Program Outcomes like engineering knowledge (PO1), problem analysis (PO2), and design/development of solutions (PO3). Course outcomes such as algorithm complexity analysis (CO1) and data structure implementations (CO2) directly support these POs and the development of core engineering skills outlined in PSO1 . This alignment ensures students are well-prepared to tackle complex engineering problems leveraging their data structures knowledge.

The course equips students for time and space complexity analysis by teaching them algorithm analysis and complexity topics in Module 1, which includes writing pseudocode and understanding time-space trade-offs . It emphasizes the evaluation of searching and sorting algorithms in terms of their complexity, providing hands-on practice in determining and comparing their efficiencies . By engaging with these analytical skills, students develop the ability to assess algorithm performance rigorously, a critical aspect of both Course Outcome 1 (CO1) and Program Outcome 2 (PO2) that facilitates informed decision-making in problem-solving .

The concept of lifelong learning is integrated into the Data Structures course through Program Outcome 12 (PO12), which emphasizes the need for continuous learning in the face of technological change . This is significant for computer science students because the field is rapidly evolving, and staying updated with new developments is crucial for maintaining competence and innovating in professional practice. The course encourages students to engage in self-directed learning by introducing complex topics that require further exploration beyond the classroom, thus preparing them for the perpetual advancement in computer science .

The course's focus on sorting techniques contributes to developing problem-solving and optimization skills by exposing students to various algorithms, such as selection sort, quick sort, and merge sort, along with their complexity analyses and performance comparisons . Understanding the operational intricacies and best-use scenarios for each sorting method enables students to select and implement the most efficient algorithms in practical applications, thereby honing their decision-making and optimization skills. This detailed study aligns with Course Outcome 4 (CO4), which aims to equip students with the ability to compare and contrast different algorithms, fostering a deeper understanding of algorithmic efficiency and enhancing their analytical capabilities in solving complex problems .

The program outcomes prepare graduates to communicate effectively in professional engineering contexts by emphasizing skills such as writing technical reports, designing documentation, and engaging with diverse audiences. Program Outcome 10 (PO10) is dedicated to these competencies, training students to articulate engineering concepts clearly and effectively . This preparation involves developing both written and oral communication proficiencies, enabling graduates to collaborate efficiently, present complex information concisely, and engage constructively with technical and non-technical stakeholders. These skills are essential for advancing in engineering careers, where clear communication is pivotal for project success and interdisciplinary collaboration .

Understanding time and space complexity is crucial for engineering students because it enables them to evaluate the efficiency and feasibility of algorithms, particularly in solving complex engineering problems. This understanding allows students to identify potential performance bottlenecks and optimize their solutions, which is a fundamental skill in applying engineering knowledge to real-world problems as outlined in Program Outcome 1 (PO1). Moreover, it fosters analytical skills necessary for problem analysis and solution design, as emphasized in PO2 and PO3 .

The course on Data Structures facilitates understanding of real-world applications of trees and graphs by covering their characteristics, operations, and implementations in detail. Trees are discussed through different types like binary search trees, AVL trees, and B-trees, highlighting their use in databases and file systems . Graphs are explored through their representations (adjacency matrix, spanning trees) and traversal algorithms (BFS, DFS), allowing students to understand their applications in network connectivity, shortest path algorithms, and resource management . Through this detailed exploration, students gain insights into how these structures are crucial in computing tasks such as data retrieval, networking, and optimization problems.

The ability to convert pseudocode to C code is vital for computer science undergraduates as it bridges the gap between theoretical algorithm design and practical implementation. This skill enables students to translate logical solutions into executable programs, thus enhancing their problem-solving capabilities and programming agility . It also ensures that students can effectively participate in software development tasks, where such translation is frequently required. Moreover, mastering this skill supports fulfilling Program Outcome 2 (PO2), which involves problem analysis and solution formulation, and is directly associated with Course Outcome 3 (CO3).

You might also like