You are on page 1of 8

Program Name: B.Tech.

Computer Science and AY 2022-23


Engineering
Course Code 20A541T : Design and Analysis of Class / 2rdYr / II Sem
&Name: Algorithms Sem
Regulation R-20 L-T-P-C 3-0-0-3
Pre- Requisite / Mathematics Concepts And Data Structures
Exposure
Faculty Name: P.SWATHI

Course Description:
Design and Algorithm analysis is an important part of computational complexity theory, that provides
theoretical estimation for the required resources of an algorithm to solve computational problems.
Algorithms are the steps that are written in the documentation that help in solving complex problems.
Course Objectives:
1. Enhance to understand and analyze the performance of algorithms.
2. Enable the students to study and apply algorithmic design techniques divide and conquer and greedy
method.
3. Make better understand the algorithmic design techniques in solving problems with dynamic
programming method.
4. Facilitate various algorithmic design techniques such as back tracking and branch and bound to solve
problems.
Course Content:

Module Description of Topic Contact


No. Hrs.
1 Introduction Algorithm, Pseudo Code for algorithms, performance analysis-Space 4
complexity, Time Complexity
2 Asymptotic Notation-Big Oh Notation, Omega Notation, Theta notation and Little 2
Oh notation
3 Amortized complexity, Sets- Disjoint set operations, Union and Find algorithms. 3
4 DIVIDE AND CONQUER: General Method, applications- Binary Search, Quick 6
sort, Merge Sort, Strassen‘s Matrix multiplication.
5 GREEDY METHOD: General Method, applications-Job sequencing with 5
dead-lines, knapsack problem, Minimum-cost Spanning trees, Single source
shortest path.
6 Dynamic Programming: General Method, applications- Matrix Chain multiplication, 10
Optimal Binary search trees, 0/1 Knapsack, All pairs shortest path, The Travelling
person problem, Reliability design.
7 BACKTRACKING: General Method, applications- 8- queen problem, sum of 6
subsets, graph coloring, Hamiltonian cycles.
8 BRANCH AND BOUND: General Method, applications-Travelling Sales Person and 6
0/1 knapsack problem- LC Branch and Bound Solution, FIFO Branch and Bound
solution

9 Basic Concepts, nondeterministic algorithms, the classes-NP-Hard and NP Complete, 6


Cook‘s Theorem
Course Outcomes (CO):
Upon completion of the course, the students will be able to:

CO CO Statement Taxonomy
Number Level
20A541T-1 Understand and analyze the performance of algorithms in terms of time Apply
and space complexity.

20A541T-2 Apply divide and conquer to solve searching and sorting problems Apply
and greedy method to solve job sequencing with deadline.

20A541T-3 Analyze dynamic programming technique to solve knapsack, shortest Apply


path, travelling sales person problems.

20A541T-4 Solve different applications of backtracking, and branch and bound Apply
techniques

20A541T-5 Remember concepts of computational theory. Apply

CO-PO/PSO Relationship Matrix: (Level of Mapping: 3- High; 2- Moderate; 1- Low)

PO PO PO PO PO PO PO PO PO PO PO PO PS PSO PSO
CO O 3
1 2 3 4 5 6 7 8 9 10 11 12 2
1
20A541T-1 3 3 - - - - - - - - - 3 3 3 3
20A541T-2 3 3 3 3 - - - - - - - 3 3 3 3
20A541T-3 3 3 3 3 - 3 - - - - - 3 3 3 3
20A541T-4 3 3 3 3 - 3 - - - - - 3 3 3 3
20A541T-5 3 3 - - - - - - - - - 3 3 3 3
Average 3 3 3 3 - 3 - - - - - 3 3 3 3

PO1: Engineering Knowledge PO7: Environment & Sustainability


PO2: Problem Analysis PO8: Ethics
PO3: Design / Development of Solutions PO9: Individual & Team Work
PO4: Conduct Investigations of complex problems PO10: Communication Skills
PO5: Modern Tool usage PO11: Project Management & Finance
PO6: Engineer & Society PO12: Life-long Learning
PSO1: Understand the working of new hardware/software architectures and components and design
Solutions for real time problem Design, develop and test system software and application software for
distributed and centralized computing environments to varying domain and platforms.
PSO1: Model the computer based systems and design algorithms that explores understanding of the trade-
offs involved on design choices.
PSO2: Design, develop and test system software and application software for distributed and centralized
computing environments to varying domain and platforms.
Justification of Mapping:

CO PO/PSO Justification
Mapped
20A541T-1 PO1, PO2, PO1: Strongly mapped as students will be able to Develop an
PO12, understanding of fundamental algorithms and their applications
PSO1, PO2: Strongly mapped as students will be able to Show competence
PSO2 in articulating algorithms through the use of pseudocode.
PO12: strongly mapped as students will be able to Contribute to
cultivating a mindset for continuous learning by actively involving
oneself with novel algorithms and notations.
PSO1: strongly mapped as students will be able to comprehending
how algorithms operate and their applications across different
architectures.
PSO2: strongly mapped as students will be able to apply the concept
of algorithms in system software such as compilers.

20A541T-2 PO1, PO2, PO1: strongly mapped as students will be able to Apply divide and
PO3, PO4, conquer algorithms for solving sorting, searching and matrix
PO12, multiplication problems to integrate mathematical principles,
PSO1, engineering Principles and Scientific Principles.
PSO2 PO2: strongly mapped as students will be able to Understand the
given problem and develop the solution for solving sorting,
searching and matrix multiplication problems and Interpretation of
results.
PO3: strongly mapped as students will be able to design new
algorithms using divide and conquer technique.
PO4: Slightly mapped as students will be able to choose the
appropriate algorithms in design of applications to solve complex
problems.
PO12: strongly mapped as students will be able to analyze the
efficiency of any new algorithm designed by divide and conquer.
PSO1: Strongly mapped as students will be able to Build divide and
conquer algorithms for solving sorting, searching, Big data analysis
and matrix multiplication problems through system software.
PSO2: Slightly mapped as students will be able to apply the concept
of algorithms in system software such as debuggers.

20A541T-3 PO1, PO2, PO1: strongly mapped as students will be able to gain the
PO3, PO4, knowledge of dynamic method concepts.
PO6, PO12, PO2: strongly mapped as students will be able to analyze the time
PSO1, and space complexity of dynamic programming algorithms.
PSO2 PO3: Strongly mapped as students will be able to design new
algorithms using dynamic programming technique.
PO4: Strongly mapped as students will be able to choose the
dynamic algorithms in design of applications to solve complex
problems.
PO6: Strongly mapped as students will be able to apply the dynamic
programming concepts to solve real time problems
PSO1: Strongly mapped as students will be able to apply the greedy
techniques in real world problems such as Resource management in
software.
PSO2: Strongly mapped as students will be able to Make use of
dynamic programming algorithms for higher studies in field of
machine Learning, Big data and Understand, design and analyze
computer programs in the areas related to Algorithms
20A541T-4 PO1, PO2, PO1:Strongly mapped as students will be able to gain the
PO3, PO4, knowledge of backtracking, branch and bound concepts.
PO6 PO12, PO2: Strongly mapped as students will be able to analyze the time
PSO1, and space complexity of backtracking, branch and bound algorithms.
PSO2 PO3: Strongly mapped as students will be able to design new
algorithms using backtracking, branch and bound technique.
PO4: Strongly mapped as students will be able to choose the
backtracking and branch & bound algorithms in design of
applications to solve complex problems.
PO6: Strongly mapped as students will be able to apply the
concepts to solve real time problems such as chess game, coloring
problems etc
PO12: Strongly mapped as students will be able to analyze the
efficiency of any new algorithm designed by backtracking, branch
and bound techniques.
PSO1: Strongly mapped as students will be able to make use of the
concept of different algorithms for developing intelligent systems,
next generation computer systems and networking devices.
PSO2: Strongly mapped as students will be able to make use of
backtracking and branch and bound algorithms in the context of
designing, developing, and testing software for distributed and
centralized computing environments.
20A541T-5 PO1, PO2, PO1: strongly mapped as students will be able to gain the
PO12, knowledge of non deterministic algorithms.
PSO1, PO2: strongly mapped as students will be able to analyze the
PSO2 concept of NP hard problems
PO12: strongly mapped as the learning outcome prepares the
learner for self-learning the working of any algorithms and
theorems.
PSO1: Strongly mapped as students will be able solve non
deterministic algorithms
PSO2: Strongly mapped as students will be able to Make use of
different types of algorithms for higher studies.

Gaps in the Syllabus - To Meet Industry/Professional Requirements, POs:

S.No. Description Proposed Actions


1. Include more real-world examples and case studies to Guest lectures / demos will be
demonstrate how these algorithms and techniques are arranged to meet the outcome
applied in practical scenarios. Introduce projects or PO2,PO3.
assignments that require students to implement
algorithms to solve industry-related problems.
2. Expand on optimization techniques beyond the Field visits will be arranged to
provided examples. Discuss how optimization is crucial meet the outcomes PO5, PO9,.
in various industries such as logistics, finance, and
machine learning.
PROPOSED ACTIONS: ASSIGNMENT/INDUSTRY VISIT/GUEST LECTURE/NPTEL Etc.
Topics Beyond the Syllabus:

S. Topic Teaching Method


No.
1. Exposure to advanced sorting and searching such as bucket Expert Talk / Guest Lecture
sort, counting sort, interpolation search , exponential search
etc.
2. Demonstration of Eulerian and Hamiltonian paths Field Visit

3. Introduction to advanced complexity classes such as Expert Talk / Guest Lecture /


polynomial hierarchy, PSPACE and EXP etc NPTEL
4. Exposure to Randomized algorithms Field Visit
5. Introduction to approximation algorithms, online DEMO
algorithms parallel algorithms, quantum algorithms, online
learning algorithmic game theory and advanced topics in
NP-Hard and NP-Complete

Lesson Plan:

Sl. Topic/ Sub Topic Reference Teaching


No. Method#
#
1 Introduction 1 C&T
2 Algorithm, Pseudo Code for algorithms 5 C&T
3 performance analysis-Space complexity 15 S/P
4 Time Complexity 17 C&T
5 Asymptotic Notation 39 S/P,GL
6 Sets-Disjoint set operations 110 S/P
7 Union and Find algorithms 111 C&T
8 Amortized complexity 28 S/P, C&T
9 DIVIDE AND CONQUER: General Method 136 S/P
10 Binary Search 145 S/P, C&T
11 Quick sort 168 C&T
12 Merge Sort 159 C&T
13 Strassen’s Matrix multiplication 192 S/P
14 GREEDY METHOD: General Method 210 ET/GL
15 Job sequencing with dead-lines 227 S/P, C&T
16 knapsack problem 218 S/P, C&T
17 Minimum-cost Spanning trees 236 C&T
18 Single source shortest path 260 S/P, C&T
19 DYNAMIC PROGRAMMING: General Method 272 S/P
20 Matrix Chain multiplication 275 S/P, C&T
21 Optimal Binary search trees 293 S/P, C&T
22 0/1 Knapsack 305 S/P, C&T
S/P, C&T,
23 All pairs shortest path 284
Video
24 The Travelling person problem 318 C&T
25 Reliability design 315 S/P
26 BACKTRACKING: General Method 359 ET/GL
27 8- queen problem 373 S/P
28 sum of subsets 377 S/P, C&T
29 graph coloring 380 S/P
30 Hamiltonian cycles 384 S/P, C&T
31 BRANCH AND BOUND: General Method 399 S/P, C&T
Travelling Sales Person (*) 0/1 knapsack problem- GD/C&T
32 422/414
LC Branch and Bound Solution
33 FIFO Branch and Bound solution. 417 C&T
NP-HARD AND NP-COMPLETE S/P
34 514
PROBLEMS: Basic Concepts
35 nondeterministic algorithms 515 S/P
36 The classes-NP-Hard and NP Complete 523 S/P
Cook’s Theorem
#
Teaching Methods: C&T:-Chalk & Talk; S/P:-Slides/PPT; Videos; SEM: Seminar; DEMO; CHART;
ET/GL: Expert Talk/Guest Lecture; QUIZ; GD:-Group discussion; RTCS: Real time case studies; JAR:-
Journal article review; PD:-Poster design; OL:-Online lecture/Google class room

TEXT BOOKS (T):


1. Ellis Horowitz, SartajSahni and Rajasekharam, Fundamentals of Computer Algorithms. Galgotia
publications Pvt. Ltd.

REFERENCE BOOKS (R):


1. ParagHimanshu Dave, HimanshuBhalchandra Dave, Design and Analysis Algorithms. Pearson.
2. M.T. Goodrich and R.Tomassia,Algorithm Design: Foundations, Analysis and Internet
Example.Johnwiley and sons.
3. R.C.T.Lee, S.S.Tseng, R.C.Chang and T.Tsai, Introduction to Design and analysis of Algorithms,A
strategic approach. McGraw Hill.
4. Aho,Ullman and Hopcroft, Design and Analysis of algorithms, Pearson Education.

WEB RESOURCES (WR):


1. https://www.imsc.res.in/~vraman/pub/intro_notes.pdf
2. https://courses.cs.duke.edu/fall08/cps230/Book.pdf
3. https://ics.uci.edu/~goodrich/teach/cs161/notes/
4. https://aofa.cs.princeton.edu/home/
5. https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/pages/lecture-
notes/
6. https://vssut.ac.in/lecture_notes/lecture1428551222.pdf
7. https://www.udemy.com/course/design-and-analysis-of-algorithms/?
utm_source=adwords&utm_medium=udemyads&utm_campaign=DSA_Catchall_la.EN_cc.INDI
A&utm_content=deal4584&utm_term=_._ag_82569850245_._ad_533220805577_._kw__._de_c_._
dm__._pl__._ti_aud-1738475842996%3Adsa-
406594358574_._li_9299135_._pd__._&matchtype=&gad_source=1&gclid=CjwKCAiA-P-
rBhBEEiwAQEXhHwWoBURWu9vmMeaIstx0MlYUvSks_lBFp97Y7YlhKHiPHMd1WtMu0xo
C5xgQAvD_BwE
8. https://mrcet.com/downloads/digital_notes/IT/Design%20and%20Analysis%20Algorithms.pdf
9. https://www.jbiet.edu.in/pdffls/IT-coursematerial/DAA-Notes.pdf
10. https://www.iare.ac.in/sites/default/files/DAA%20%20Notes%20by%20Dr.%20L.%20V.
%20Narasimha%20Prasad_0.pdf
11. https://www.geektonight.com/design-and-analysis-of-algorithm-notes/#google_vignette
12. https://bmsit.ac.in/public/assets/pdf/ise/studymaterial/DAA-Notes-Final%20-%20Bhavya
%20G.pdf
13. https://sist.sathyabama.ac.in/sist_coursematerial/uploads/SCSA1403.pdf
14. https://cvr.ac.in/cse/stud/NOTES/DAA/DAA.pdf

Assessment Methodologies:
 Assignments
 Tests
 Report writing
 Presentation
 University examination

Innovations in Teaching/Learning/Assessment Processes:


 E-Learning material, demonstrations, field visits are extensively used.
 Incentive based class room interaction.
 Need based online sessions beyond class hours.
 Assessment process promotes self-learning, written and oral communication skills.

Faculty Signature
Periodic Monitoring:

Review 1 Review 2
Course Activity From To From To
Mar’23 Apl’23 May’23 Jly’23
Syllabus covered (%)
Planned
Lectures 27 39
(No.)
Taken
25 41
(No.)
Planned
Tutorials/Remedial
(No.)
Class
Taken
(No.)
Planned
Assignments 2 3
(No.)
Taken
2 3
(No.)
Planned 17-4-23 21-4-23 3-7-23 7-7-23
CA1, CA2
Dates
Taken 17-4-23 21-4-23 3-7-23 7-7-23
Dates
Specify any other (Field
Planned 26-4-23
visit, Guest lecture, Dates
Workshop, Seminar etc. as 26-4-23
mentioned in Lesson Plan) Taken
Dates

Signature of Faculty

\Signature of Programme Coordinator

Signature of HOD

You might also like