DAA Syllabus
DAA Syllabus
Course Learning Rationale The purpose of learning this course is to: Learning Program Learning Outcomes (PLO)
(CLR):
CLR- Design efficient algorithms in solving complex real time problems 1 2 3 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1
1: 0 1 2 3 4 5
CLR- Analyze various algorithm design techniques to solve real time problems in polynomial time A E
2: L n n
CLR- Utilize various approaches to solve greedy and dynamic algorithms E E v
e E a
3: x x i I P
v p p n D l
CLR- Utilize back tracking and branch and bound paradigms to solve exponential time problems g y r n r L
e e e P e M S d o
4: l i s s o i
CLR- Analyze the need of approximation and randomization algorithms, utilize the importance Non polynomial algorithms c c r o o n i C j
o n i i f
5: t t o d c m v o e
f e e e g s m e
CLR- e b , e i e i c L
Construct algorithms that are efficient in space and time complexities T d d l n r e d m t
6: h r & D n E o
P A e n t t u u M P P P
i i D e t n
r t m s T y & a n g S S S
n o t n e h i g O O O
k g A i o & S l t L
fi a n v o C u i & c . - - –
i K e g c e
c i a l u s T a & 1 2 3
n i n n l n s a
o l , U l t e t F r
g e m y o s t a i i
( w p R a n
Course Learning Outcomes n e s a u i m o n
At the end of this course, learners will be able to: B l m e i
(CLO): c n i g r n W n a
l y t e e s n
d s e e e a o n g
o ( ( n r c
o g t a b
% % il k e
m e r
) ) i
) c
h t
y
CLO- Apply efficient algorithms to reduce space and time complexity of both recurrent and non-recurrent relations 3 8 7 L H - H L - - - L L - H - - -
1: 0 0
CLO- Solve problems using divide and conquer approaches 3 8 7 M H L M L - - - M L - H - - -
2: 5 5
CLO- Apply greedy and dynamic programming types techniques to solve polynomial time problems. 3 7 7 M H M H L - - - M L - H - - -
3: 5 0
CLO- Create exponential problems using backtracking and branch and bound approaches. 3 8 8 M H M H L - - - M L - H - - -
4: 5 0
CLO- Interpret various approximation algorithms and interpret solutions to evaluate P type, NP Type, NPC, NP Hard problems 3 8 7 H H M H L - - - M L - H - - -
5: 5 5
CLO- 8 7 L H M H L - - - L L - H - - -
Create algorithms that are efficient in space and time complexities by using divide conquer, greedy, backtracking technique 3
6: 0 0
Duration 15 15 15 15 15
(hour)
SLO- Introduction-Algorithm Design Introduction-Divide and Conquer Introduction-Greedy and Dynamic Introduction to backtracking - branch Introduction to randomization and
S- 1 Programming and bound approximation algorithm
1 SLO- Examples of problems that can be
Fundamentals of Algorithms Maximum Subarray Problem solved by using greedy and dynamic N queen’s problem - backtracking Randomized hiring problem
2 approach
SLO- Correctness of algorithm Binary Search Huffman coding using greedy approach Sum of subsets using backtracking Randomized quick sort
S- 1
2 SLO- Time complexity analysis Complexity of binary search Comparison of brute force and Huffman Complexity calculation of sum of Complexity analysis
2 method of encoding subsets
SLO- Insertion sort-Line count, Operation Merge sort Knapsack problem using greedy Graph introduction String matching algorithm
S- 1 count approach
3 SLO- Complexity derivation of knapsack
Algorithm Design paradigms Time complexity analysis Hamiltonian circuit - backtracking Examples
2 using greedy
SLO-
S 1
4- Lab 1: Simple Algorithm-Insertion sort Lab 7: Huffman coding, knapsack and Lab 10: N queen’s problem Lab 13: Randomized quick sort
SLO- Lab 4: Quicksort, Binary search using greedy
5
2
SLO- Designing an algorithm Quick sort and its Time complexity Tree traversals Branch and bound - Knapsack problem Rabin Karp algorithm for string
S- 1 analysis matching
6 SLO- And its analysis-Best, Worst and Best case, Worst case, Average case Minimum spanning tree - greedy Example and complexity calculation.
Average case analysis Kruskal's algorithm - greedy Differentiate with dynamic and greedy Example discussion
2
SLO- Asymptotic notations Based on growth Strassen's Matrix multiplication and its Minimum spanning tree - Prims Travelling salesman problem using Approximation algorithm
S- 1 functions. recurrence relation algorithm branch and bound
7 SLO- Travelling salesman problem using
O,O,Ө, ω, Ω Time complexity analysis of Merge sort Introduction to dynamic programming branch and bound example Vertex covering
2
SLO- Mathematical analysis Largest sub-array sum 0/1 knapsack problem Travelling salesman problem using Introduction Complexity classes
S- 1 branch and bound example
8 SLO- Time complexity analysis of Largest Complexity calculation of knapsack Time complexity calculation with an
Induction, Recurrence relations sub-array sum problem example P type problems
2
SLO-
S 1 Lab 8: Various tree traversals,
9- Lab 2: Bubble Sort Lab 5: Strassen Matrix multiplication Krukshall’s Lab 11: Travelling salesman problem Lab 14: String matching algorithms
10 SLO- MST
2
SLO- Solution of recurrence relations Master Theorem Proof Matrix chain multiplication using Graph algorithms Introduction to NP type problems
S- 1 dynamic programming
11 SLO- Complexity of matrix chain Depth first search and Breadth first
Substitution method Master theorem examples multiplication search Hamiltonian cycle problem
2
SLO- Solution of recurrence relations Finding Maximum and Minimum in an Longest common subsequence using Shortest path introduction NP complete problem introduction
S- 1 array dynamic programming
12 SLO- Recursion tree Time complexity analysis-Examples Explanation of LCS with an example Floyd-Warshall Introduction Satisfiability problem
2
SLO- Solution of recurrence relations Algorithm for finding closest pair Optimal binary search tree Floyd-Warshall with sample graph NP hard problems
S- 1 problem (OBST)using dynamic programming
13 SLO-
Examples Convex Hull problem Explanation of OBST with an example. Floyd-Warshall complexity Examples
2
S SLO-
14 1 Lab 3: Recurrence Type-Merge sort, Lab 6: Finding Maximum and Minimum Lab 12: BFS and DFS implementation Lab 15: Discussion over analyzing a
-1 Linear search in an array, Convex Hull problem Lab 9: Longest common subsequence with array real time problem
SLO-
5 2
1. Thomas H Cormen, Charles E Leiserson, Ronald L Revest, Clifford Stein, Introduction to Algorithms, 3rd ed., 3. Ellis Horowitz, Sartajsahni, Sanguthevar, Rajesekaran, Fundamentals of Computer
Learning The MIT Press Cambridge, 2014 Algorithms, Galgotia Publication, 2010
Resources
2. Mark Allen Weiss, Data Structures and Algorithm Analysis in C, 2nd ed., Pearson Education, 2006 4. S. Sridhar, Design and Analysis of Algorithms, Oxford University Press, 2015
Learning Assessment
Bloom’s Continuous Learning Assessment (50% weightage)
Final Examination (50% weightage)
Level of CLA – 1 (10%) CLA – 2 (15%) CLA – 3 (15%) CLA – 4 (10%)#
Thinking Theory Practice Theory Practice Theory Practice Theory Practice Theory Practice
Remember
Level 1 20% 20% 15% 15% 15% 15% 15% 15% 15% 15%
Understand
Apply
Level 2 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
Analyze
Evaluate
Level 3 10% 10% \15% 15% 15% 15% 15% 15% 15% 15%
Create
Total 100 % 100 % 100 % 100 % -
# CLA – 4 can be from any combination of these: Assignments, Seminars, Tech Talks, Mini-Projects, Case-Studies, Self-Study, MOOCs, Certifications, Conf. Paper etc.,
Course Designers
Experts from Industry Experts from Higher Technical Institutions Internal Experts
1. G. Venkiteswaran, Wipro Technologies, [email protected] 1. MiteshKhapra, IITM Chennai, [email protected] 1. Mr.K.Senthil Kumar, SRMIST
2. Dr.SainarayananGopalakrishnan, HCL Technologies, [email protected] 2. V. Masilamani. IIITDM, [email protected] 2. Dr.A.Razia Sulthana, SRMIST
3. Mr. V. Sivakumar, SRMIST
4. Ms. R. Vidhya, SRMIST