Uploaded by Fahmida Yasmin

BAETE-CSE-2322-Data-Structure-Lab-Activity-Plan

advertisement
1.
2.
3.
4.
5.
6.
7.
8.
Course Code:
CSE-2322
Course Title:
Data Structures Lab
Credit Hours: 1
Contact Hours: 2 lab hours per week
Type:
Core, Engineering
Prerequisite:
CSE-1122 (Computer Programming I Lab)
Co-requisite:
CSE-2321 (Data Structures)
Instructor’s Name
Name: Md. Mahiuddin
Email: mmuict@gmail.com
9. Course Rationale / Summary:
This course is a continuation to the introduction to computer science and is a study of the
different types of data structures, their design, implementation, efficiency and effective use in
solving problems. It introduces students to new types of data structures such as arrays, linked
list, trees, graphs, heaps, stacks and queues. Students will also learn how to design algorithms
for each new data structure studied, create and perform simple operations such as insertion,
deletion, merging, sorting, and traversing on data structures. It describes and implements
common algorithms for working with advanced data structures and recognizes which data
structure is the best to use to solve a particular problem. To take this course, students should
be able to program in a standard programming language preferably in C/C++. Some
mathematical maturity will also be helpful for the students.
10. Course Objective: The objectives of this course are to
a. Impart a thorough understanding of linear data structures such as linked list, arrays, stacks,
queues and their applications.
b. Learn a thorough understanding of non-linear data structures such as trees, graphs and
their applications.
c. Familiarize with various sorting, searching and hashing techniques and their performance
comparison.
d. design and analyze recursive algorithms in data structures
11. Course Outcomes (COs):
Upon successful completion of this course, students will be able to:
#
CO Description
Weightage (%)
1.
Demonstrate appropriate data structure & algorithmic methods in
solving problem.
Apply important static and dynamic data structures, and compare
and contrast among them.
Synthesize the computational efficiency of the principal algorithms
for insertion, deletion, sorting, searching, and hashing.
30%
2.
3.
50%
20%
12. Mapping of CO-PO:
#
CO Description
POs Bloom’s Taxonomy
Domain/Level
Delivery
Assessment
Methods and Tools
activities
#
CO Description
POs Bloom’s Taxonomy
Domain/Level
CO1 Demonstrate
appropriate data
structure & algorithmic
methods in solving
problem
PO1 Cognitive/Apply
CO2 Apply important static
and dynamic data
structures, and
compare and contrast
among them.
PO1 Cognitive/Apply
PO2
CO3 Synthesize the
PO1 Cognitive/Create
PO2
computational
PO5
efficiency of the
principal algorithms for
insertion, deletion,
sorting, searching, and
hashing.
Delivery
Methods and
activities
Lecture,
Class
discussion,
Assignment,
Lab work,
Note,
Competitive
Problem
Solving
Lecture,
Class
discussion,
Assignment,
Lab work,
Note,
Competitive
Problem
Solving
Lecture,
Class
discussion,
Assignment,
Lab work,
Note,
Competitive
Problem
Solving
Assessment
Tools
Exam, Quiz,
Assignment,
Competitive
Problem
Solving
Exam, Quiz,
Assignment,
Competitive
Problem
Solving
Exam, Quiz,
Assignment,
Competitive
Problem
Solving
13. Resources:
Text Books:
#
Name of
Authors
1. Seymour
Lipschutz
Title of Book
Edition Publisher’s Name
Year
ISBN
Data Structures
Special
Indian
Edition
Tata McGraw-Hill
2014
ISBN-13:
978-0-07060168-0
Title of Book
Edition Publisher’s Name
Year
ISBN
Data Structures
Using C and
C++
Data Structures
2nd
Edition
Prentice Hall India
2014
1st
Edition
CBS Publishers and
Distributors
1983
ISBN:13
9780387202778
ISBN13: 9780316739511
Reference Books:
#
Name of
Authors
1. Y. Langsam,
Augenstein, A.
M. Tanenbaum
2. Edward M.
Reingold,
Wilfred J.
Hansen
Name of
Authors
3. Robert
Sedgewick
Title of Book
Edition Publisher’s Name
Year
ISBN
Algorithms in C
3rd
Pearson Education,
Inc
2001
4. D. Samanta
Classic Data
Structures
2nd
Prentice Hall of
India
2003
ISBN-13:
9780321573513
ISBN-10:
8120318749
#
Online Resources:
I) https://www.topcoder.com/community/competitive-programming/tutorials/
14. Weightage Distribution among Assessment Tools:
Assessment Tools
Class Attendance
Continuous Assessment
Final Examinations
Weightage (%)
10
40
50
15. Grading Policy:
As per IIUC grading policy
16. Weekly Activity Plan and List of Experiments:
Week Activities
1
Lab work
2
Lab work
Experiments
1. Write a program to create an array of n elements and then display
all the elements of the list.
2. Write a program to find the largest number from a given list of
integers.
3. Write a program to calculate the roots of the quadratic equation ax 2
+ bx + c = 0 where a, b and c are known.
X=(-b+-sqrt(b*b-4*a*c))/(2*a)
4. Write a program to create an array of n elements and then
separately write the odd and even elements of the list.
5. Write a program to create an array of n elements and then insert an
element to the list.
ITEM=50, LOC=5, N=7
DATA[20]=
20
30
25
23
33
50
24
10
12
DATA[LOC]=ITEM
N=N+1
6. Write a program to create an array of n elements and then delete an
element from the list.
7. Write a program to sort n numbers using Bubble Sort algorithm.
Week Activities
3
Lab work
4
Lab work
5
Lab work
6
Lab work
7
Lab work
8
Lab work
Experiments
8. Write a program to search an element from a list of n numbers using
Linear Search algorithm.
9. Write a program to search an element from a list of n numbers using
Binary
Search algorithm.
10. Write a program to determine whether a number n is prime or not
where 1< n < 215 by using sieve method.
11. Write a program to write 100 randomly generated integer to a file
called
RAND.DAT. And then read the contents of the
file and display them on the screen.
12. Write a program to insert a string S into a text T so that S begins in
position K of T.
13. A text T and a pattern P are in memory. Write a program to delete
first occurrence of P in T.
14. Write a program that will read a string (S) and find the index of the
first occurrence of a pattern (P) in the string S.
15. Write a program which calculates the no. of occurrence of each
letter of an input text.
16. Write a program to implement the following string operation
without using any built in functions related to string.
a) Find the length of a string S
b) Copy string S2 to S1.
c) Concatenate string S2 to S1.
d) Compare two strings S1 and S2
e) Reverse a string S.
17. Write a program to interchange the row and column of a matrix.
18. Write a program to add two matrices.
19. Write a program to calculate the multiplication of two matrices.
20. Write a program to calculate the row sum and column sum of a
matrix.
21. Write a program that will read a positive integer in base b
(2<=b<=16) and convert it into base d (2<=d<=16).
22. Write a program to implement the push and pop operation of a stack
23. Write a program to evaluate a Postfix expression.
24. Write a program to convert an Infix expression into its equivalent
Postfix expression.
25. Write a program to implement the Euclidean Algorithm for finding
the Greatest Common Divisor (GCD) of two given positive
integers.
26. Write a program to show the insert and delete operations of a
circular queue.
27. Write a program to show the insert and delete operations of a
priority queue.
28. Write a program to calculate the Factorial of a number using
recursive and non-recursive method
29. Write a program to find the nth term Fn of the Fibonacci sequence
using recursive and non-recursive method.
30. Write a program to move n disks for Tower of Hanoi problem.
31. Write a program to implement Ackermann Function.
Week Activities
9
Lab work
10
Lab work
11
Lab work
12
Lab work
13
Lab work
14
Lab work
15
Programming
Contest
Experiments
32. Write a program to create a Linked List of n elements and then
display the list.
33. Write a program to create a Linked List of n elements and then
search an element from the list.
34. Write a program to create a Linked List of n elements and then
insert an element to the list.
35. Write a program to create a Linked List of n elements and then
delete an element from the list.
36. Write a program to create a Circular Header Linked List of n
elements and then display the list.
37. Write a program to create a Two way Linked List of n elements and
then display the list.
38. Write a program to search an ITEM from the Linked list.
39. Write a program to print the even integer from a linked list.
40. Write a program to sum up the value of a linked list.
41. Write a program to count the number of elements in a linked list.
42. Write a program to sort n numbers using Insertion Sort algorithm.
43. Write a program to sort n numbers using Selection Sort algorithm.
44. Write a program to sort n numbers using Quick Sort algorithm.
45. Write a program to sort n numbers using Merge sort algorithm.
46. Write a program to create a Binary Search Tree of n elements and
then display the elements (preorder, inorder and postorder) of the
tree.
47. Write a program to create a Binary Search Tree of n elements and
then search an element from the tree.
48. Write a program to create a Binary Search Tree of n elements and
then delete an element from the tree.
49. Write a program to create a Maxheap of n elements and then
display the elements of the heap.
50. Write a program to create a Maxheap of n elements and then delete
an element from the heap.
51. Write a program to sort n numbers using Heap sort algorithm.
52. Write a program to display the adjacency matrix of a graph.
53. Write a program to display the adjacency list of a graph.
54. Write a program to traverse a graph using Breadth First Search.
55. Write a program to traverse a graph using Depth First Search.
56. Write a program to find the 100!
57. Write a program to determine the value of the nth Fibonacci
number Fn where
Fn = Fn–1+ Fn-2 and F1 = F2 = 1 and
n<=500.
Testing the problem solving skills of students by giving the problems
Download