DS & DBMS Course
DS & DBMS Course
Pre-Requisite -
Anti-Requisite -
Co-Requisite -
COURSE DESCRIPTION: This course provides an overview of data structure concepts, arrays,
stack, queues, trees, and graphs. Discussion of various implementations of these data objects,
programming styles, and run-time representations.
COURSE OUTCOMES: After successful completion of the course, students will be able to:
CO1. Understand the concept of Dynamic memory management, data types, algorithms, Big
O notation.
CO2. Understand basic data structures such as arrays, linked lists, stacks and queues.
CO3. Solve problem involving graphs, trees and heaps.
CO4. Apply Algorithm for solving problems like sorting, searching, insertion and deletion of
data.
CO1 3 2 - - - - - - - - - - 3 - - -
CO2 3 2 - - - - - - - - - - 3 - - -
CO3 3 3 3 - - - - - - - - - 3 - - -
CO4 3 3 3 2 - - - - - - - - 3 - - -
Course
Correlation 3 3 3 2 - - - - - - - - 3 - - -
Mapping
Correlation Levels: 3: High; 2: Medium; 1: Low
COURSE CONTENT
MODULE – I (10
Hours)
Introduction: Introduction to Data Structures, Basic Concepts and Notations,
Abstract Data Types, Analysis and Efficiency of Algorithms, Time and Space
Complexity.
Stack, Queue: Stack, Stack operations, Implementation using arrays,
applications of stack, Queue, Queue operations, Implementation using arrays,
various Queue Structures, applications of queue.
MODULE-2 (8
Hours)
Linked lists: Single linked list, double linked list, circular linked list, operations
on linked lists, Applications of Linked List.
Implementation of stack using Pointers, Implementation of Queue using Pointers.
MODULE-3 (8
Hours)
Searching Techniques: Linear Search, Binary Search and Fibonacci Search.
Sorting Techniques: Selection Sort, Insertion sort, Bubble sort, Merge Sort,
Quick Sort, Heap sort, Radix Sort.
Hash Tables: Hash Functions, Collision Handling Schemes, Applications.
MODULE-4 (10
Hours)
Trees: Vocabulary and Definitions, Binary Tree, Implementation, Binary Tree
Traversal, Binary Search Tree, Implementation, Balanced Search Trees: AVL
Trees, Implementation, Splay Trees, Red- Black Trees.
MODULE-5 (9 Hours)
Graph Theory: Graphs Terminology, Graph ADT, Data Structures for Graphs-
Adjacency Matrix Structure, Graph Traversals, Shortest Paths, Minimum Spanning
Trees- Prims’ Algorithm, Kruskal’s Algorithm, Dijkstra's Algorithm, Floyd-Warshall
Algorithm
Text Books:
1. Data Structures and Algorithm Analysis in C, Mark Allen Weiss, Second
Edition, 2002, Pearson.
2. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson,
Ronald L.Rivest, Clifford Stein, Third Edition, 2010, PHI.
3. Data Structures and Algorithms Made Easy by Narasimha
Karumanchi, 2020, Career Monk Publications.
Reference Books:
1. 1. Fundamental of Data Structures in C, Horowitz, Sahani, Anderson-
Freed, Second Edition, 2008, Universities Press.
2. Classic Data Structures, Debasis Samantha, Second Edition, 2009, PHI
Experiential Learning
1. Demonstrate recursive algorithms with examples.
4. Develop a program to perform operations of Stack and Queue using Linked Lists
Video Resources:
1. https://www.youtube.com/watch?v=zWg7U0OEAoE&list=PLBF3763AF2E1C572F
2. https://www.youtube.com/watch?v=S47aSEqm_0I&list=PLD9781AC5EBC9FA16
3. https://www.youtube.com/watch?v=9MmC_uGjBsM&list=PLyqSpQzTE6M_Fu6l8ir
VwXkUyC9Gwqr6_
Course Code Course Title L T P S C
COURSE OUTCOMES: After successful completion of the course, students will be able to:
Apply the concepts of ER-modeling and normalization to design viable data models for a given
CO1.
problem.
CO2. Formulate relational database schemas, apply suitable integrity constraints, for querying
databases.
CO3. Use SQL to store, query, and manipulate data in relational databases.
CO4. Develop PL/SQL blocks to centralize database applications for maintainability and reusability.
CO5. Analyze transaction processing, concurrency control and storage methods for database
management.
CO1 3 3 3 - - - - - - - - - 3 - 3
CO2 3 3 - - - - 2 - - - - - 3 - 3
CO3 3 3 3 - - - - - - - 2 - 3 - 3
CO4 2 3 3 - - - - 2 - - - - 3 - -
CO5 3 3 3 - - - - - - - - - 3 - -
Course
Correlation 3 3 3 - - - 2 2 - - 2 - 3 - 3
Mapping
Total Periods: 45
EXPERIENTIAL LEARNING
LIST OF EXERCISES:
Week 1: Design and analyze an ER Model for the following use case.
The Library Management System database keeps track of readers with the following
considerations –
• The system keeps track of the staff with a single point authentication system
comprising login Id and password.
• Staff maintains the book catalog with its ISBN, Book title, price(in INR),
category(novel, general, story), edition, author Number and details.
• A publisher has publisher Id, Year when the book was published, and name of the
book.
• Readers are registered with their user_id, email, name (first name, last name),
Phone no (multiple entries allowed), communication address. The staff keeps track
of readers.
Choose appropriate Entities and attributes and relationships and draw the complete ER
diagram.
Basic PL/SQL:
Week 6:Construct PL/SQL block for the following.
a) To determine whether a number is palindrome
b) To determine whether a number is an Armstrong number
c) To find greatest of three numbers
d) To display Fibonacci series
Control Structures:
Week 7:a) Write a program in PL/SQL to update the salary of a specific employee by
20% if the salary less than 30000/- and 10% when the salary in between 30000/- and
60000/- and 5% when the salary is above 60000/- and display the salary with a
suitable message.
b)Write a PL/SQL program to display the description of the grade against a student’s
grade using CASE statement.
Exception Handling:
Week 8:a) Develop a PL/SQL program that displays the name and address of a student
whose ID is given. If there is no student with the given student ID in the database, the
program should raise a run-time exception NO_DATA_FOUND, which should be
captured in the EXCEPTION block.
b) Construct the user-defined exceptions to get the salary of an employee and check it
with the job’s salary range. If the salary is below the range, raise an exception
BELOW_SALARY_RANGE. If the salary is above the range, raise the exception
ABOVE_SALARY_RANGE.
Functions:
Week 9:a)Write a function that accepts two numbers A and B and performs the
following operations.
o Addition
o Subtraction
o Multiplication
o Division
Procedures:
Week 10:a)Write a procedure that accepts two numbers and displays their sum.
b)Write procedures to demonstrate IN, IN OUT and OUT parameters.
Cursors:
Week 11:a)Write a block in PL/SQL to create a Cursor that displays the employee name
and number of jobs he or she has done in the past.
b)Write a program in PL/SQL to create a cursor to display the name and salary of each
employee in the EMPLOYEES table whose salary is less than that specified by a passed-
in parameter value.
Triggers:
Week 12:Develop a suitable employee database application by considering appropriate
attributes. a) Whenever the inserted or updated salary is more than 10 lacs per
month a trigger should be fired.
b) Whenever, the inserted or updated salary is less than 5000 per month a
trigger should be activated.
RESOURCES
TEXT BOOKS:
1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGraw Hill, 3rd
Edition, 2014.
2. Abraham Silberschatz, Henry. F. Korth, S. Sudarshan, Database System Concepts, McGraw
Hill, 7th edition, 2019.
REFERENCE BOOKS:
1.Ivan Bayross, SQL, PL/SQL: The Programming Language of Oracle, BPB publications, 4th
Edition, 2017.
2. Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems, 7th Edition,
Pearson, 2015.
SOFTWARE/TOOLS:
1. Oracle SQL plus
Web Resources:
1. https://swayam.gov.in/nd1_noc19_cs46/preview
2. https://www.classcentral.com/course/swayam-introduction-to-database-systems- 17660