DAA Syllabus 2021 Scheme
DAA Syllabus 2021 Scheme
CLO 1. Explain the methods of analysing the algorithms and to analyze performance of algorithms.
CLO 2. ic notations.
CLO 3. Solve problems using algorithm design methods such as the brute force method, greedy method,
divide and conquer, decrease and conquer, transform and conquer, dynamic programming,
backtracking and branch and bound.
CLO 4. Choose the appropriate data structure and algorithm design method for a specified application.
CLO 5. Introduce P and NP classes.
Teaching-Learning Process (General Instructions)
These are sample Strategies, which teachers can use to accelerate the attainment of the various course
outcomes.
1. Lecturer method (L) does not mean only traditional lecture method, but different type of
teaching methods may be adopted to develop the outcomes.
2. Show Video/animation films to explain functioning of various concepts.
3. Encourage collaborative (Group Learning) Learning in the class.
4. Ask at least three HOT (Higher order Thinking) questions in the class, which promotes critical
thinking.
5.
thinking skills such as the ability to evaluate, generalize, and analyze information rather than
simply recall it.
6. Topics will be introduced in a multiple representation.
7. Show the different ways to solve the same problem and encourage the students to come up
with their own creative ways to solve them.
8. Discuss how every concept can be applied to the real world - and when that's possible, it helps
improve the students' understanding.
Module-1
Brute force design technique: Selection sort, sequential search, string matching algorithm with
complexity Analysis.
1. Sort a given set of n integer elements using Selection Sort method and compute its time
complexity. Run the program for varied values of n> 5000 and record the time taken to sort.
Plot a graph of the time taken versus n. The elements can be read from a file or can be
generated using the random number generator. Demonstrate using C++/Java how the brute
force method works along with its time complexity analysis: worst case, average case and best
case.
Divide and Conquer: General method, Recurrence equation for divide and conquer, solving it using
Decrease and Conquer Approach: Introduction, Insertion sort, Graph searching algorithms,
Laboratory Component:
1. Sort a given set of n integer elements using Quick Sort method and compute its time
complexity. Run the program for varied values of n> 5000 and record the time taken to sort. Plot
a graph of the time taken versus n. The elements can be read from a file or can be generated
using the random number generator. Demonstrate using C++/Java how the divide-and-conquer
method works along with its time complexity analysis: worst case, average case and best case.
2. Sort a given set of n integer elements using Merge Sort method and compute its time
complexity. Run the program for varied values of n> 5000, and record the time taken to sort.
Plot a graph of the time taken versus n. The elements can be read from a file or can be generated
using the random number generator. Demonstrate using C++/Java how the divide-and-conquer
method works along with its time complexity analysis: worst case, average case and best case.
Teaching-Learning Process 1. Chalk & board, Active Learning, MOOC, Problem based
Learning.
2. Laboratory Demonstration.
Module-3
Greedy Method: General method, Coin Change Problem, Knapsack Problem, solving Job sequencing
with deadlines Problems.
Laboratory Component:
Laboratory Component:
Module-5
Backtracking: General method, solution using back tracking to N-Queens problem, Sum of subsets
problem, Graph coloring, Hamiltonian cycles Problems.
Branch and Bound: Assignment Problem, Travelling Sales Person problem, 0/1 Knapsack problem
NP-Complete and NP-Hard problems: Basic concepts, non- deterministic algorithms, P, NP, NP-
Complete, and NP-Hard classes.
Laboratory Component:
1.
positive 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.
2. Design and implement C++/Java Program to find all Hamiltonian Cycles in a connected
undirected Graph G of n vertices using backtracking principle.
Teaching-Learning Process 1. Chalk & board, Active Learning, MOOC, Problem based
learning.
2. Laboratory Demonstration.
Course outcome (Course Skill Set)
CO 1. Analyze the performance of the algorithms, state the efficiency using asymptotic notations and
analyze mathematically the complexity of the algorithm.
CO 2. Apply divide and conquer approaches and decrease and conquer approaches in solving the
problems analyze the same
CO 3. Apply the appropriate algorithmic design technique like greedy method, transform and conquer
approaches and compare the efficiency of algorithms to solve the given problem.
CO 4. Apply and analyze dynamic programming approaches to solve some problems. and improve an
algorithm time efficiency by sacrificing space.
CO 5. Apply and analyze backtracking, branch and bound methods and to describe P, NP and NP-
Complete problems.
Assessment Details (both CIE and SEE)
The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is 50%.
The minimum passing mark for the CIE is 40% of the maximum marks (20 marks). A student shall be
deemed to have satisfied the academic requirements and earned the credits allotted to each subject/
course if the student secures not less than 35% (18 Marks out of 50) in the semester-end examination
(SEE), and a minimum of 40% (40 marks out of 100) in the sum total of the CIE (Continuous Internal
Evaluation) and SEE (Semester End Examination) taken together
Practical Sessions need to be assessed by appropriate rubrics and viva-voce method. This will contribute
to 20 marks.
Rubrics for each Experiment taken average for all Lab components 15 Marks.
Viva-Voce 5 Marks (more emphasized on demonstration topics)
The sum of three tests, two assignments, and practical sessions will be out of 100 marks and will be
scaled down to 50 marks
(to have a less stressed CIE, the portion of the syllabus should not be common /repeated for any of the
methods of the CIE. Each method of CIE should have a different syllabus portion of the course).
Theory SEE will be conducted by University as per the scheduled timetable, with common question
papers for the subject (duration 03 hours)
1. The question paper will have ten questions. Each question is set for 20 marks. Marks scored
shall be proportionally reduced to 50 marks
2. There will be 2 questions from each module. Each of the two questions under a module (with a
maximum of 3 sub-questions), should have a mix of topics under that module.
The students have to answer 5 full questions, selecting one full question from each module.
Textbooks
1. Introduction to the Design and Analysis of Algorithms, Anany Levitin: 2nd Edition, 2009.
Pearson.
2. Computer Algorithms/C++, Ellis Horowitz, SatrajSahni and Rajasekaran, 2nd Edition, 2014,
Universities Press.
Reference Books
1. http://elearning.vtu.ac.in/econtent/courses/video/CSE/06CS43.html
2. https://nptel.ac.in/courses/106/101/106101060/
3. http://elearning.vtu.ac.in/econtent/courses/video/FEP/ADA.html
4. http://cse01-iiith.vlabs.ac.in/
5. http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms
1. Real world problem solving and puzzles using group discussion. E.g., Fake coin identification,
Peasant, wolf, goat, cabbage puzzle, Konigsberg bridge puzzle etc.,
2. Demonstration of solution to a problem through programming.