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

DAA-Course Pack-BCA - 3rdsem

The document outlines a course on Design & Analysis of Algorithms, detailing the course structure, objectives, outcomes, and assessment methods. It includes information on prerequisites, teaching pedagogy, course content, and a lesson plan for both theory and practical sessions. Additionally, it highlights program educational objectives and specific outcomes for graduates in Computer Applications.

Uploaded by

vivivivkfikes
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)
18 views11 pages

DAA-Course Pack-BCA - 3rdsem

The document outlines a course on Design & Analysis of Algorithms, detailing the course structure, objectives, outcomes, and assessment methods. It includes information on prerequisites, teaching pedagogy, course content, and a lesson plan for both theory and practical sessions. Additionally, it highlights program educational objectives and specific outcomes for graduates in Computer Applications.

Uploaded by

vivivivkfikes
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
You are on page 1/ 11

COURSEPACK

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.

Course Title Design & Analysis of Algorithm Course Type Integrated


Course Code E1UA306B Class BCA III Sem
Activity Credits Credit Hours Total Number of Assessment in
Classes per Semester Weightage
Lecture 3 3
Instruction

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

PREREQUISITE COURSE Yes


REQUIRED
If, yes please fill in the Details Prerequisite Prerequisite course name
course code
Data structure using C

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. •

COURSE OUTCOMES (COs)


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

Describe basic techniques for designing algorithms, including the techniques of


E1UA306B.1
recursion, divide-and-conquer, and greedy.

E1UA306B.2 Analyze algorithmic complexity for efficient problem-solving.

E1UA306B.3 Develop problem-solving skills through algorithmic approaches.

E1UA306B.4 Apply classical sorting, searching, optimization and graph algorithms.

BLOOM’S LEVEL OF THE COURSE OUTCOMES

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 

PROGRAM EDUCATIONAL OBJECTIVES

The Graduates of Computer Application shall:

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.

PEO3: undertake higher education at institutions of transnational reputation.

PROGRAMME SPECIFIC OUTCOME (PSO):

The students of Computer Application shall:

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.

PROGRAMME OUTCOME (PO):

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.

PO10: Communicate effectively in both verbal and written form.

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.

COURSE ARTICULATION MATRIX

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

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

COURSE ASSESSMENT

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

CIE Total Marks


Final Marks
Type of Course (B) LAB Work@
MTE LAB CIE SEE
+ Record EXAM*
INTEGRATED 25 50 25 100 100 100

@
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

Advance Data Structure


Advanced Data Structure: Binary Tree, Traversal of Binary Tree, Binary Search Trees Property,
Operations on BST

Advance Design and Analysis Techniques


Advanced Design and Analysis Techniques: Dynamic programming (Matrix Chain Multiplication,
Longest Common Subsequence), Greedy Algorithm (Fractional Knapsack problem, Huffman
Codes)

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)

Advanced Algorithm Design


String Matching (Naive, Rabin-Karp), Matrix Operations (Strassen’s Matrix Multiplication)

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.

LESSON PLAN FOR Integrated 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)

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

24 Travelling Salesman example


25 Dynamic Programming- Multistage Graph-
Forward path

26 Multistage Graph- backward path Applications of


27 N Queen's Problem backtracking

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

36 Randomized algorithm- Hiring Problem


37 Randomized algorithm- Matrix Chain How to optimize the
Multiplication complex algorithm in
terms of minimizing the
38 Matrix Chain Multiplication cost
39 Randomized Quick Sort
40 Introduction to PN problems
41 Introduction to NP problems Finding the solution of Understand to solve
problems in polynomial problems in polynomial
42 NP Complete time, nondeterministic time, nondeterministic
polynomial-time polynomial-time.
43 NP Complete

44 NP hard and Soft


45 Revision

LESSON PLAN FOR Practical

L-No Topic for Delivery Skill Competency

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

9 Implement the Kruskal Spanning tree Applications of


and its all operations backtracking Analyze the problem and finding the optimal
solution using different approaches.

10 Implement the BFS & DFS and its all Applications of


operations backtracking

11 Designing and finding the


Write a program to implement shortest path in networks.
Bellman-Ford Algorithm.

12 Write a program to implement n- Applications of


Queen Problem using backtracking. backtracking

How to optimize the


13 Write a program to implement complex algorithm in
Naive string-matching algorithm. terms of minimizing
the cost
How to optimize the
14 Write a program to implement String complex algorithm in
Matching using Rabin-Karp algorithm. terms of minimizing the
cost

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

Exercises in Problem-based Learning (Assignments)

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.

7 Develop a program to implement solve LCS problem. KL6


8 Develop a program to implement Huffman-code. KL6

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

You might also like