0% found this document useful (0 votes)
48 views18 pages

Coursepack Data Structures Using JAVA-R1UC303B

Uploaded by

aryag5640
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
48 views18 pages

Coursepack Data Structures Using JAVA-R1UC303B

Uploaded by

aryag5640
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 18

COURSEPACK

FRAMEWORK

The Course Pack is a comprehensive and complete pedagogical guideline document that describes the
components of instruction delivery by a faculty member. It consists of the scheme of the course,
Course Overview, Course Objectives, Prerequisite course, Program-specific Outcomes (PSOs),
Course outcomes (COs), Bloom’s taxonomy (Knowledge Levels), Types of Courses, Course
articulation matrix, Course assessment patterns, Course content, Lesson Plan, Bibliography, Problem-
based learning/case-studies/clinical, and Student-Centered learning (self- learning towards life-long-
learning). It not only provides a uniform design of Course delivery across the University but also
ensures freedom and flexibility to introduce innovations in learning and teaching and create vivid
kinds of assessment tools (alternate assessment tools) by a faculty member.
The course pack is developed by the faculty member teaching a course. If more than one faculty
teaches the same course, all the faculty members teaching the course shall be formed as a cluster,
and a senior faculty member (Course-lead) lead the Course delivery design in a team effort. The
Course Pack provides ample scope and opportunity to bring innovations in teaching pedagogies in
a school/department.
Hence, the Course pack is a comprehensive learning-teaching strategy framework to be followed by
all the faculty members in schools/departments in the university. It is not only a tool for measuring
the learning of a class but also analyses the achievement levels (learning outcomes of the course) of
all the students in a class in a continuous manner.

: for internal circulation 2


COURSEPACK
SCHEME
Course Title Data Structures using JAVA Course Type Integrated
Course Code R1UC303B Class B.Tech CSE and
Specialization III Sem
Activity Credits Credit Hours Total Number of Assessment in
Classes per Semester Weightage
Lecture 3 3
Instruction

Practical
Tutorial

Tutorial
0 0

Theory
delivery

study
Self-

SEE
CIE
Practical 1 2
Self-study 0 7
Total 4 12 45 0 30 105 50% 50%
Course Lead Dr. Ashok Kumar Yadav Course Dr. Mili Dhar
Coordinator
Names Course Theory Practical
Instructors Abhishek Kumar Pandey Abhishek Kumar Pandey
Albert Mundu Albert Mundu
Ambika Gupta Ambika Gupta
Anurag maurya Anurag maurya
Ashok Kumar Yadav Ashok Kumar Yadav
Baldivya Mitra Baldivya Mitra
Dileep Kumar Kushwaha Dileep Kumar Kushwaha
Gaurav Agarwal Gaurav Agarwal
Greeshma G.S. Greeshma G.S.
Jyoti Yaduwanshi Jyoti Yaduwanshi
Mandeep Mandeep
Mili Dhar Mili Dhar
Mithilesh Kumar Yadav Mithilesh Kumar Yadav
Munish Khanna Munish Khanna
Neha Singh Neha Singh
Nripendra Dwivedi Nripendra Dwivedi
Pradeep Chauhan Pradeep Chauhan
Pravin Kumar Pravin Kumar
R. Sathiya Priya R. Sathiya Priya
Radha Rani Radha Rani
Rahul Kumar Rahul Kumar
Sachin Jain Sachin Jain
Sachin Kumar Tyagi Sachin Kumar Tyagi
Sayooj Devadas K Sayooj Devadas K
Shachi Mall Shachi Mall
Shalaka Tyagi Shalaka Tyagi
Sunil Kumar (31672) Sunil Kumar (31672)
Tushar Mehrotra Tushar Mehrotra
Vartika Mishra Vartika Mishra
Vikas Arya Vikas Arya

: for internal circulation 3


COURSEPACK
FRAMEWORK

COURSE OVERVIEW

Data structures are one of the foundation subjects for the computer science program. This course enables the
students to understand and apply the concepts of Linear Data Structure and Non-linear Data Structure
approaches in different scenarios of information processing and storing and organizing data in a computer's
memory so that these data can be used efficiently later. It includes identifying the issue in that particular
scenario required to deal with the data structures approaches, considering several techniques to address it, and
selecting the best data structure to store, organize, and efficiently use the stored data. In this course, Data
structures include- Array, lists, stacks, queues, trees, and graphs. The Java programming language will be used
to demonstrate the concepts discussed in the lecture, and programming problems must be completed in Java.

PREREQUISITE COURSE

PREREQUISITE COURSE Yes


REQUIRED
If, yes please fill in the Details Prerequisite course code Prerequisite course name

Java Programming

: for internal circulation 4


COURSE OBJECTIVE

This course will introduce students to searching and sorting as well as data structures like stack, queue, and binary tree.
Students will write many programs around these topics during this course

COURSE OUTCOMES (COs)

After the completion of the course, the student will be able to:

CO No. Course Outcomes

Develop programs for functions like traversal, searching, and sorting over Arrays and Linked
CO1 Lists using iterative and recursive techniques.

Convert iterative programs using Arrays and Linked Lists into equivalent Recursive versions
CO2 and vice versa.

Implement Stack, Queue, and Binary Tree data structures in Java using Array and Linked
CO3 Structures.

Develop Java programs to solve computing problems using multiple data structures (Stack,
CO4 Queue, and Binary Tree).

: for internal circulation 5


COURSEPACK
FRAMEWORK

PROGRAM OUTCOMES (POs):

PO1 Computing Science knowledge: Apply the knowledge of mathematics,


statistics, computing science and information science fundamentals to the solution
of complex computerapplication problems.
Problem analysis: Identify, formulate, review research literature, and analyze
PO2
complex computing science problems reaching substantiated conclusions using
first principles of mathematics, natural sciences, and computer sciences.
Design/development of solutions: Design solutions for complex computing
PO3
problems and design system components or processes that meet the specified
needs with appropriate consideration for the public health and safety, and the
cultural, societal, and environmental considerations.
Conduct investigations of complex problems: Use research-based knowledge and
PO4 research methods includingdesign of experiments, analysis and interpretation of data,
and synthesis of the information to provide valid conclusions.
Modern tool usage: Create, select, and apply appropriate techniques, resources, and
PO5 modern computing scienceand IT tools including prediction and modeling to complex
computing activities with an understanding of the limitations.
IT specialist and society: Apply reasoning informed by the contextual
PO6
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional computing science and
information science practice.
Environment and sustainability: Understand the impact of the professional
PO7
computing science solutions in societal and environmental contexts, and
demonstrate the knowledge of, and need for sustainable development.
Ethics: Apply ethical principles and commit to professional ethics and
PO8
responsibilities and norms of the computing science practice.
Individual and team work: Function effectively as an individual, and as a
PO9
member or leader in diverse teams, and in multidisciplinary settings.
PO10 Communication: Communicate effectively on complex engineering activities with
the IT analyst community and with 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.
Project management and finance: Demonstrate knowledge and understanding
PO11 of the computing science and management principles and apply these to one’s
own work, as a member and leader in a team, to manage projects and in
multidisciplinary environments.
Life-long learning: Recognize the need for, and have the preparation and ability
PO12
to engage in independent and life-long learning in the broadest context of
technological change.

: for internal circulation 6


PROGRAMME SPECIFIC OUTCOME (PSO):

The students of Computer Science and Engineering shall:


PSO1: Have the ability to work with emerging technologies in computing requisite to Industry 4.0.

PSO2: Demonstrate Engineering Practice learned through industry internship and research project to solve live
problems in various domains

BLOOM’S LEVEL OF THE COURSE OUTCOMES


INTEGRATED

Remember Understand Apply Analyse Evaluate Create


CO No. BTL1 BTL2 BTL3 BTL4 BTL2 BTL6

CO1

CO2

CO3


CO4

PROGRAM OUTCOMES (POs): AS DEFINED BY CONCERNED THE APEX BODIES

COURSE ARTICULATIONMATRIX
PSO1

PSO2
PO10

PO11

PO12
PO1

PO2

PO3

PO4

PO5

PO6

PO7

PO8

PO9

COs#/POs

CO1 1 1 1 - - - - - - - - - - -

CO2 1 - - - - - - - - - - - - -

1 - - - - - - - - - - - - -
CO3
CO4 2 2 2 - 2 - - - 1 - - 1 - -

Note: 1-Low, 2-Medium, 3-High

: for internal circulation 7


COURSEPACK
FRAMEWORK

COURSE CONTENT

Content

THEORY:
Introduction: Basic Terminology, Types and application of Data Structures,
Algorithm, Efficiency of an algorithm, Time-space trade-off and complexity,
asymptotic notation.

Array: Single and Multidimensional Arrays, Representation of Arrays: Row


Major Order, and Column Major Order, Derivation of Index Formulae for 1-D,2-
D, and multi-D Array, Application of arrays, Sparse Matrices, and their
representations, arithmetic operations on matrices.

Recursion: Tail recursion, Head Recursion, Nested recursion, Removal of


recursion. Problem solving using iteration and recursion with examples such as
Fibonacci numbers, and Hanoi towers. Trade-offs between iteration and
recursion.

Searching & Sorting: Linear search, Binary Search, Indexed Sequential search,
Hashing, Insertion Sort, Bubble sort, Selection sort, Quick Sort, Merge Sort.

Linked lists: Introduction, Singly Linked Lists, Doubly Linked List, Circularly
Linked List, Operations on a Linked List. Insertion, Deletion, Traversal,
Reversing, Application of Linked List: Polynomial Representation, Addition and
Multiplication, Generalized Linked List.

Stack: Introduction, Abstract Data Type, Primitive Stack operations: Push &
Pop, Array and Linked List Implementation of Stack, Application of Stack:
Prefix and Postfix Expressions, Evaluation of postfix expression.

Queue: Introduction, Operations on Queue: Create, Add, Delete, Full and


Empty, Circular queues, Array and linked implementation of queues, Double
Ended queue, and Priority Queue.

Trees: Binary Tree and Its array and linked list representation, Strict Binary Tree,
Complete Binary Tree, Tree Traversal algorithms: In-order, Pre-order, and Post-
order, level order, Constructing Binary Tree from given Tree Traversal, BST
Operation: Searching, Insertion, Deletion, Threaded Binary Trees, Traversals in
Threaded Binary Trees, Heaps, Heap Sort.

Graph-Introduction to graph, Concepts, and representation.

: for internal circulation 8


COURSE ASSESSMENT
The course assessment patterns are the assessment tools used both in formative and summative
examinations.

Assessment Tools CI Total Marks Final Marks


E
LAB @ MT LAB EXAM* CIE SEE CIE * 0.5 +
(Work E SEE * 0.5
+ Record)
Integrated 25 50 25 100 100 100

@ Lab Work – 15 marks + Lab record – 10 marks

* Passing criteria – 30% of marks to be secured in the lab exam conducted by two examiners
(one internal + one external).

: for internal circulation 9


COURSEPACK
FRAMEWORK

LESSON PLAN FOR COMPREHENSIVE COURSES


FOR THEORY 15 weeks * 3 Hours = 45 Classes) (1credit = 1Lecture Hour)
FOR PRACTICAL 15 weeks * 2Hours = 30 Hours lab sessions (1 credit = 2 lab hours)

L.No. Topics for Delivery Theory / Skills Competency


Tutorial /
Practical
Plan
1 Introduction: Basic Terminology, Types and Theory
application of Data Structures,
2 Algorithm, Efficiency of an algorithm, Time- Theory
space trade-off and complexity,
3 Theory
asymptotic notation.
4 Array: Single and Multidimensional Theory
Arrays, Representation of Arrays: Row
Major Order, and Column Major Order, Develop programs CO1
5 Theory for functions like
Derivation of Index Formulae for 1-D,2-D, and traversal, searching,
multi-D Array, and sorting over
6 Application of arrays, Sparse Matrices, and Theory Arrays and Linked
their representations, Lists using iterative
7 Theory and recursive
arithmetic operations on matrices. techniques.
8 Recursion: Tail recursion, Head Theory
Recursion,
9 Theory
Nested recursion, Removal of recursion.
10 Problem solving using iteration and recursion Theory
with examples such as Fibonacci numbers, and
11 Theory
Hanoi towers.
12 Theory
Trade-offs between iteration and recursion.

13 Searching & Sorting: Linear search, Theory


Binary Search, Convert iterative CO2
14 Theory programs using
Indexed Sequential search, Hashing, Arrays and Linked
Lists into
15 Insertion Sort, Bubble sort, Theory equivalent
Recursive versions
16 Theory
Selection sort, and vice versa.
17 Quick Sort, Theory

: for internal circulation 10


18 Theory
Merge Sort.
19 Linked lists: Introduction, Singly Linked Lists, Theory
Doubly Linked List, Circularly Linked List,
20 Operations on a Linked List. Insertion, Theory
Deletion, Traversal, Reversing,
21 Application of Linked List: Polynomial Theory
Representation, Addition and
22 Theory
Multiplication, Generalized Linked List.
23 Stack: Introduction, Abstract Data Type, Theory
Primitive Stack operations: Push & Pop,
24 Theory
Array and Linked List Implementation of Stack,
Implement Stack,
25 Theory CO3
Application of Stack: Prefix and Queue, and Binary Tree
data structures in Java
26 Theory using Array and Linked
Postfix Expressions,
Structures.
27 Theory
Evaluation of postfix expression.
28 Queue: Introduction, Operations on Queue: Theory
Create, Add, Delete, Full and Empty,
29 Circular queues, Array and linked Theory
implementation of queues,
30 Theory
Double Ended queue, and
31 Theory
Priority Queue.
32 Trees: Binary Tree and Its array and linked list Theory
representation,
33 Theory
Strict Binary Tree, Complete Binary Tree,
34 Tree Traversal algorithms: In-order, Pre-order, Theory
and
35 Theory Develop Java programs CO4
Post-order, level order,
to solve computing
36 Constructing Binary Tree from given Tree Theory problems using
Traversal, multiple data structures
(Stack, Queue, and
37 Theory
BST Operation: Searching, Insertion, Deletion, Binary Tree).

38 Threaded Binary Trees, Traversals in Threaded Theory


Binary Trees,
39 Theory
Heaps, Heap Sort.

Graph-Introduction to graph, Concepts, and Theory


40 representation.
41 Theory
Revision and Problem Discussion
COURSEPACK
FRAMEWORK
42 Theory
Revision and Problem Discussion
43 Theory
Revision and Problem Discussion
44 Theory
Revision and Problem Discussion
45 Theory
Revision and Problem Discussion

: for internal circulation 12


BIBLIOGRAPHY

Text Book
1. Aaron M. Tenenbaum, Yedidyah Langsam and Moshe J. Augenstein “Data Structures”.
2. Sahni Sartaj, “Data structures, algorithms, and applications in Java”, McGraw-Hill
Reference Books
1. Michael T. Goodrich; Roberto Tamassia; Michael H. Goldwasser; Subhasish Banerjee “Data
Structures and Algorithms in Java”, Wiley.
2. Jean Paul Trembley and Paul G. Sorenson, “An Introduction to Data Structures with applications”, Mc
Graw Hill
3. James Cutajar “Beginning Java Data Structures and Algorithms”, O’Reilly.
4. John Hubbard "Data Structures with Java" Schaum's Outline Series.
5. Narasimha Karumanchi "Data Structures and Algorithms Made Easy in Java" Career Monk

Webliography
1. https://cse.iitkgp.ac.in/~dsamanta/javads/index.htm
2. https://www.geeksforgeeks.org/data-structures/
3. https://www.javatpoint.com/data-structures-in-java
4. https://www.programiz.com/dsa
5. https://www.w3resource.com/
6. https://www.javaguides.net/p/data-structures-and-algorithms-in-java.html
SWAYAM/NPTEL/MOOCs Certification
1. Data Structure and Algorithms using Java
URL: https://archive.nptel.ac.in/courses/106/105/106105225/
2. Data Structures and Algorithms In Java (DSA)
URL: https://www.udemy.com/course/data-structures-and-algorithms-in- java/
COURSEPACK
FRAMEWORK

3. Object Oriented Java Programming: Data Structures and Beyond


Specialization
URL: https://www.coursera.org/specializations/java-object-oriented
4. Introduction to Data Structures & Algorithms in Java (LinkedIn)
URL: https://www.linkedin.com/learning/introduction-to-data-structures- algorithms-in-
java
5. Data Structures and Algorithms – Self Paced (GeeksforGeeks) URL:
https://practice.geeksforgeeks.org/courses/dsa-self-paced

PRACTICE PROBLEMS
1. Write a program to find the number of elements in the largest increasing sequence in an array.
2. Write a program to remove duplicates from an array.
3. Write a Program to find the transpose of a matrix.
4. Write a program to find the second smallest element in a linked list.
5. Write a program to check whether doubly linked list elements make palindrome or not.
6. Given an array, arr[2………11][5………20] with base value 200, and the size of each element is 2
Byte in memory. Find the address of arr[7][11] with the help of row- major order.
7. Given an array, arr[2:11, -3:4, 7:18] with a base value of 300 and the size of each element is 3 Bytes in
memory find the address of element arr[4][-2][12] with the help of row-major order?
8. Write a program to calculate the average value of array elements.
9. Write a program to find the Middle Element of a Linked List in a single traversal.
10. A circular queue has a size of 5 and has 3 elements 10,20 and 40 where F=2 and R=4. After inserting
50 and 60, what is the value of F and R. Trying to insert 30 at this stage what happens? Delete 2
elements from the queue and insert 70, 80 & 90. Show the sequence of steps with necessary diagrams
with the value of F & R.
11. Construct an expression tree for the expression (a+b*c) + ((d*e+f)*g). Give the outputs when you
apply in-order, preorder, and post-order traversals.
12. Given input {4371, 1323, 6173, 4199, 4344, 9679, 1989} and a hash function h(x) =x mod 10. Prepare
the results for the following: i) Open addressing hash table using linear probing. (ii)Open addressing
hah table using quadratic probing.
13. Write a bubble sort program with a condition that its best-case complexity will be O(n).
14. Write a program to merge two sorted arrays in a single array.
15. Write a program to reverse elements of the queue using stack.
16. Write a recursive program to find the greatest common divisor of two numbers.
17. Develop a program to merge two sorted linked lists (P & Q). Assume that they are available to get a
single sorted list S. Eg. P:1->2->45->56 Q:3->24->56->63->66
18. Evaluate the postfix expression 10 5 + 60 6/ * 8 -

: for internal circulation 14


19. Drive a formula to calculate the address of a 3-dimensional array in column-major order.
20. Implement Queue using two stacks.
21. Data are pushed to (PUSH operation) and popped from (POP operation) a stack in the following order:
PUSH 3; TOP; PUSH 7; TOP; PUSH 6; PUSH 9; TOP; POP; POP;
22. TOP; where the PUSH, POP, and TOP are the standard operations of the stack. Write the values
returned by TOP for the sequence of operations above.
23. Write a program to reverse the number using stack.
24. Write a program to reverse a stack using recursion, without using any loop.
25. Write a program to reverse a string using stack.
26. Convert the following Infix expression into a Postfix expression using the Tabular method. a – b / c * d
+e*f/g
27. Write a program to find the length of the longest consecutive elements sequence from an unsorted array
of integers.
28. Sample array: [49, 1, 3, 200, 2, 4, 70, 5]
29. Let, the longest consecutive elements sequence is [1, 2, 3, 4, 5], therefore the
30. program will return its length 5.
31. What is the output of quick sort after the 3rd iteration given the following
32. sequence? 24 56 47 35 10 90 82 31
33. Implement two stacks in a single array.
34. The following postfix expression is evaluated using a Stack: 8 2 3 ^ / 2 3 * + 5 1 * – ^ is an exponential
operator, find out the top two elements after * on the top of the stack.
35. Write a program to get the nth element from the bottom of the stack.
36. Write a program to convert Decimal to binary using recursion.
37. Solve Tower of Hanoi problem with 5 disks and three pegs. (Show all steps)
38. Write a recursive program to find the sum of digits of given numbers.
39. Write a program to find all pairs of elements in an array whose sum is equal to a specified number.
40. Write a program to convert binary to decimal using recursion.
41. Write a recursive method to calculate the product of all numbers in an array.
2.
COURSEPACK
FRAMEWORK

SELF-LEARNING THROUGH MOOCs (Cognitive Skills): Certification


1. https://www.hackerrank.com
2. https://www.codechef.com
3. https://exercism.org/
4. https://www.codewars.com/
5. https://www.topcoder.com/
6. https://www.coderbyte.com/

: for internal circulation 16


: fo
for intnternal ci rculrculatatiion 17
(Course Lead) (Program Chair) (Dean)

You might also like