DAA-Course Pack-BCA - 3rdsem
DAA-Course Pack-BCA - 3rdsem
SCHEME
The scheme is an overview of work-integrated learning opportunities and gets students out into the
real world. This will give what a course entails.
Practical
Practical
Tutorial
Tutorial
0 0
Theory
delivery
study
Self-
SEE
CIE
Practical 1 2
Self-study 0 0
Total 4 5 45 0 15 0
50% 50%
Course Lead Dr. Vikas Chaudhary Course Ms. Rakhshita Mall
Coordinator
Names Theory Practical
Course Vikas Chaudhary Vikas Chaudhary
Instructors Rajeshwari Sissodia Rajeshwari Sissodia
Vikas Chaudhary Vikas Chaudhary
Rajeshwari Sissodia Rajeshwari Sissodia
Rakhshita Mall Rakhshita Mall
Deekhsha Kumari Deekhsha Kumari
Rakhshita Mall Rakhshita Mall
Aishwarya Aishwarya
Bhoopendra Dwivedy Bhoopendra Dwivedy
Bhoopendra Dwivedy Bhoopendra Dwivedy
Kanchan Naithani Kanchan Naithani
Aishwarya Aishwarya
Kanchan Naithani Kanchan Naithani
Srikant Tiwari Srikant Tiwari
Arvind Kumar Arvind Kumar
Krishanveer Singh Krishanveer Singh
Aurobindo Kar Aurobindo Kar
Amit Kumar (496) Amit Kumar (496)
Aurobindo Kar Aurobindo Kar
Unni Krishnan Unni Krishnan
Sunil Kumar Bharti Sunil Kumar Bharti
Arvind Kumar Arvind Kumar
COURSEPACK |
FORMAT
COURSE OVERVIEW
To introduce students, the concepts of algorithm analysis for find out the space and time complexity of
different algorithms. Different design techniques such as greedy method, divide and conquer,
backtracking, dynamic programming, branch and bound are to be studied for finding the solution to the
different problems. It also provides an insight into the basic concepts of NP and NP-hard problems and
their relevance in research.
PREREQUISITE COURSE
COURSE OBJECTIVE
• To analyze and design different searching and sorting algorithm algorithms based upon
different designing approaches.
• To analyze and design different tree algorithms based upon different designing approaches.
• To choose appropriate algorithm design techniques for solving Greedy Algorithm real time
problems.
• To choose appropriate algorithm design techniques for solving Dynamic Programming real
time problems. •
Bloom's taxonomy is a set of hierarchical models used for the classification of educational learning
objectives into levels of complexity and specificity. The learning domains are cognitive, affective, and
psychomotor.
COURSEPACK |
FORMAT
INTEGRATED
Remember Understand Apply Analyse Evaluate Create
CO No.
KL1 KL 2 KL 3 KL 4 KL 5 KL 6
E1UA306B.1
E1UA306B.2
E1UA306B.3
E1UA306B.4
PEO1: be engaged with leading Global Software Services companies handling projects in
contemporary technologies.
PEO2: serve in technical or managerial roles at Government firms, Corporates and contributing to the
society as successful entrepreneurs through startup.
PSO1: Have the ability to work with emerging technologies in computing requisite to Industry 4.0.
PSO2: Demonstrate application development skills learned through technical training and projects to
solve real world problems.
PO1: The program enhances analytical, managerial, communication and computing Application skills
besides inculcating the virtues of self-study.
PO2: Analyze and synthesis computing systems through quantitative and qualitative techniques.
PO3: Design and develop computer programs in the areas related to algorithm, web design,
networking and AI.
PO4: Inculcating essential skills as demanded by Indian and Global Software industries through latest
tools of learning. This also includes team-building skills, audio- visual presentations and personality
development programs.
PO5: To develop inter-twining competence in the field of Digital Marketing and Commerce,
Computing Skill and Computational tools.
PO6: To Develop practical skills to provide solutions to industry, society and business.
COURSEPACK |
FORMAT
PO7: Understand environmental issues and lead a life with concerns for environment.
PO8: Apply ethical principles and commit to professional ethics and responsibilities and norms of the
computing science practice.
PO9: To make graduates understand cross cultural, societal, professional, legal and ethical issues
prevailing in industry.
PO11: To apply standard software engineering practices and strategies in software project
development using open source programming environment to deliver a quality of product for business
success
PO12 Recognize the need for lifelong learning for continuous enhancement and up gradation of
technological changes in society.
The Course articulation matrix indicates the correlation between Course Outcomes and
Program Outcomes and their expected strength of mapping in three levels (low, medium, and
high).
CO No PO 1 PO 2 PO 3 PSO 1 PSO2
E1UA306B.1 1
E1UA306B.2 1
E1UA306B.3 1 2
E1UA306B.4 1 2
COURSE ASSESSMENT
The course assessment patterns are the assessment tools used both in formative and summative examinations.
@
Lab Work-15 marks + Lab Record-10 marks
COURSEPACK |
FORMAT
TEACHING PEDAGOGY: please choose teaching pedagogy according to the COs of
subject.
COs PEDAGOGY
E1UA306B.1 Interactive Demonstrations
E1UA306B.2 Collaborative Learning
E1UA306B.3 Integrated-Industry Tools
E1UA306B.4 Flipped Classroom
SLOW and FAST LEARNER: It is required to complete this process after completion of
25% of syllabus.
For Integrated Course: Through problem based assignment and through Lab Experiments.
COURSE CONTENT
THEORY+ PRACTICAL
Content
Introduction to Algorithms & Analysis
Introduction to Algorithms & Analysis- Design of Algorithms, Growth of function, Complexity of
Algorithms, Asymptotic Notations, Recurrences (Master Method) Sorting: Insertion Sort, Quick
Sort, Merge Sort
Graph Algorithms
Graph Algorithms: Elementary Graph Algorithms, Breadth First Search, Depth First Search,
Minimum Spanning Tree, Kruskal’s Algorithms, Prim’s Algorithms, Single Source Shortest Path
(Dijkstra’s Algorithm)
COURSEPACK |
FORMAT
Practical
List of Experiments
1. Study and compare different asymptotic notations.
2. Write a program to sort given set of numbers in ascending order using Bubble
sort.
3. Write a program to sort given set of numbers in ascending order using Selection
Sort.
4. Write a program to sort given set of numbers in ascending order using Insertion
sort.
5. Write a program to sort given set of numbers in ascending order using Quick
sort.
6. Write a program to sort given set of numbers using Merge Sort.
7. Write a program to insert elements in an empty Binary tree.
8. Write a program to insert elements in an empty Binary search tree.
9. Write a program to implement Matrix Chain Multiplication.
10. Write a program to implement fractional Knapsack using Greedy technique.
11. Write a program to implement Breadth First Search (BFS) for a given Graph G.
12. Write a program to implement Depth First Search (DFS) for a given Graph G.
13. Write a program to make the Minimum Spanning tree using Kruskal Approach.
14. Write a program to make the Minimum Spanning tree using Prim's Approach.
COURSEPACK |
FORMAT
17 Red-Black trees Usage of Convex hull
applications in
18 B – trees
mathematics, statistics,
combinatorial
optimization,
economics, geometric
modeling, and ethology
19 Binomial Heaps Analyzing and File Analyze the problem
Compression and data and finding the optimal
Compression solution using different
20 Fibonacci Heaps
approaches.
21 M-way search tree
22 Dynamic Programming - 0/1 Knapsack Finding the Optimal
Problem solution
COURSEPACK |
FORMAT
23 Dynamic Programming- Travelling Salesman
Problem
28 Sum Of Subsets
29 Graph Coloring
30 Hamiltonian's Circuit
31 Travelling Salesman Problem Designing and finding
the shortest path in
32 String Matching
networks.
33 Doubt Clearing Session
34 Branch and bound - 0/1 Knapsack Understanding Branch
and Bound method.
35 Branch and Bound - Travelling Sales man
Problem
1 Implement the Insertion Sort and Designing Algorithms Designing algorithms, analyze their space and time
analyze the algorithm with different and checking the complexities.
inputs. complexity
COURSEPACK |
FORMAT
2 Implement the Quick Sort, and analyze Searching and sorting Analyze and apply searching and sorting algorithms
the algorithm with different inputs. Algorithms
3 Implement the Merge Sort and analyze Searching and sorting Analyze and apply searching and sorting algorithms
the algorithm with different inputs Algorithms
4 Implement the Binary tree and its all Searching and sorting Analyze and apply searching and sorting algorithms
operations all operations Algorithms
5 Implement the RB tree and its all Searching and sorting
operations. Algorithms
6 Implement the Binary search tree and Searching and sorting
its all operations Algorithms
Implement the Spanning tree and its all Searching and sorting
7 operations. Algorithms
8 Implement the Prims Spanning tree Applications of
and its all operations backtracking
T= Theory, L= Lab
BIBLIOGRAPHY
Text Book
1. Thomas H. Coreman, Charles E. Leiserson and Ronald L. Rivest, “Introduction to
Algorithms”, The MIT Press, 3rd edition, 2009.
COURSEPACK |
FORMAT
Reference Books
1. Ellis Horowitz, Sartaj Sahni, SanguthevarRajasekaran. Fundamentals of Computer
Algorithms, MIT Press, Second Edition (Indian reprint: Prentice-Hall), 2008.
2. Aho, Hopcraft, Ullman, “The Design and Analysis of Computer Algorithms” Pearson
Education.
Webliography
1. https://www.cse.iitd.ac.in/~ssen/csl356/root.pdf 2.
2. https://vssut.ac.in/lecture_notes/lecture1428551222.pdf
SWAYAM/NPTEL/MOOCs Certification
1. Code Tantra
2. Coding Ninjas
3. Code Chef
4. https://onlinecourses.nptel.ac.in/noc19_cs47/preview (Swayam)
PROBLEM-BASED LEARNING
S No Problem KL
1 Write a program to implement Minimum Cost spanning tree. KL5
2 Write a program to implement Sum of subset problem. KL5
3 Write a program to implement Greedy algorithm using Task Scheduling Problem. KL5
4 Write a program to implement Greedy algorithm using Activity Selection Problem. KL5
5 Compute the transitive closure of a given directed graph using Warshall's algorithm. KL6
Write a program to implement shortest path algorithm.
6 Write a program to find all Hamiltonian Cycles in a connected undirected Graph G of n KL5
vertices using backtracking principle.
9 Find Minimum Cost Spanning Tree of a given connected undirected graph using KL6
Kruskal's algorithm. Use Union-Find algorithms in your program.
10 Find Minimum Cost Spanning Tree of a given undirected graph using Prim’s algorithm. KL6
11 Design a programs to (a) Implement All-Pairs Shortest Paths problem using Floyd's KL6
algorithm.
(b) Implement Travelling Sales Person problem using Dynamic programming.
COURSEPACK |
FORMAT
12 Design and implement to find a subset of a given set S = {Sl, S2, ,Sn} of n positive KL6
integers whose SUM is equal to a given positive integer d. For example, if S ={1, 2, 5, 6,
8} and d= 9, there are two solutions {1,2,6}and {1,8}. Display a suitable message, if the
given problem instance doesn't have a solution.
COURSEPACK |
FORMAT