Ada Syllabus

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Annexure-II 1

Analysis & Design of Algorithms Semester 4


Course Code BCS401 CIE Marks 50
Teaching Hours/Week (L: T:P: S) 3:0:0:0 SEE Marks 50
Total Hours of Pedagogy 40 Total Marks 100
Credits 03 Exam Hours 03
Examination type (SEE) Theory

Course objectives:
● To learn the methods for analyzing algorithms and evaluating their performance.
● To demonstrate the efficiency of algorithms using asymptotic notations.
● To solve problems using various algorithm design methods, including brute force,
greedy, divide and conquer, decrease and conquer, transform and conquer, dynamic
programming, backtracking, and branch and bound.
● To learn the concepts of P and NP complexity 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 the traditional lecture method, but different
types of teaching methods may be adopted to achieve the outcomes.
2. Utilize video/animation films to illustrate the functioning of various concepts.
3. Promote collaborative learning (Group Learning) in the class.
4. Pose at least three HOT (Higher Order Thinking) questions in the class to stimulate
critical thinking.
5. Incorporate Problem-Based Learning (PBL) to foster students' analytical skills and
develop their ability to evaluate, generalize, and analyze information rather than merely
recalling it.
6. Introduce topics through multiple representations.
7. Demonstrate various ways to solve the same problem and encourage students to devise
their own creative solutions.
8. Discuss the real-world applications of every concept to enhance students'
comprehension.

Module-1
INTRODUCTION: What is an Algorithm?, Fundamentals of Algorithmic Problem Solving.
FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM EFFICIENCY: Analysis Framework,
Asymptotic Notations and Basic Efficiency Classes, Mathematical Analysis of Non recursive
Algorithms, Mathematical Analysis of Recursive Algorithms.
BRUTE FORCE APPROACHES: Selection Sort and Bubble Sort, Sequential Search and Brute
Force String Matching.
Chapter 1 (Sections 1.1,1.2), Chapter 2(Sections 2.1,2.2,2.3,2.4), Chapter 3(Section
3.1,3.2)
Module-2
BRUTE FORCE APPROACHES (contd..): Exhaustive Search (Travelling Salesman probem and
Knapsack Problem).
DECREASE-AND-CONQUER: Insertion Sort, Topological Sorting.
DIVIDE AND CONQUER: Merge Sort, Quick Sort, Binary Tree Traversals, Multiplication of
Large Integers and Strassen’s Matrix Multiplication.

@# 16032024 1
Annexure-II 2

Chapter 3(Section 3.4), Chapter 4 (Sections 4.1,4.2), Chapter 5 (Section 5.1,5.2,5.3, 5.4)
Module-3
TRANSFORM-AND-CONQUER: Balanced Search Trees, Heaps and Heapsort.
SPACE-TIME TRADEOFFS: Sorting by Counting: Comparison counting sort, Input Enhancement
in String Matching: Horspool’s Algorithm.
Chapter 6 (Sections 6.3,6.4), Chapter 7 (Sections 7.1,7.2)
Module-4
DYNAMIC PROGRAMMING: Three basic examples, The Knapsack Problem and Memory
Functions, Warshall’s and Floyd’s Algorithms.
THE GREEDY METHOD: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm, Huffman
Trees and Codes.
Chapter 8 (Sections 8.1,8.2,8.4), Chapter 9 (Sections 9.1,9.2,9.3,9.4)
Module-5
LIMITATIONS OF ALGORITHMIC POWER: Decision Trees, P, NP, and NP-Complete Problems.
COPING WITH LIMITATIONS OF ALGORITHMIC POWER: Backtracking (n-Queens problem,
Subset-sum problem), Branch-and-Bound (Knapsack problem), Approximation algorithms for
NP-Hard problems (Knapsack problem).
Chapter 11 (Section 11.2, 11.3), Chapter 12 (Sections 12.1,12.2,12.3)
Course outcome (Course Skill Set)

At the end of the course, the student will be able to:


1. Apply asymptotic notational method to analyze the performance of the algorithms in terms of
time complexity.
2. Demonstrate divide & conquer approaches and decrease & conquer approaches to solve
computational problems.
3. Make use of transform & conquer and dynamic programming design approaches to solve the
given real world or complex computational problems.
4. Apply greedy and input enhancement methods to solve graph & string based computational
problems.
5. Analyse various classes (P,NP and NP Complete) of problems
6. Illustrate backtracking, branch & bound and approximation methods.

@# 16032024 2
Annexure-II 3

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 out of 50)
and for the SEE minimum passing mark is 35% of the maximum marks (18 out of 50 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 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.

Continuous Internal Evaluation:


● For the Assignment component of the CIE, there are 25 marks and for the Internal Assessment
Test component, there are 25 marks.
● The first test will be administered after 40-50% of the syllabus has been covered, and the
second test will be administered after 85-90% of the syllabus has been covered
● Any two assignment methods mentioned in the 22OB2.4, if an assignment is project-based
then only one assignment for the course shall be planned. The teacher should not conduct two
assignments at the end of the semester if two assignments are planned.
● For the course, CIE marks will be based on a scaled-down sum of two tests and other methods
of assessment.
Internal Assessment Test question paper is designed to attain the different levels of
Bloom’s taxonomy as per the outcome defined for the course.

Semester-End Examination:
Theory SEE will be conducted by the University as per the scheduled timetable, with common
question papers for the course (duration 03 hours).
1. The question paper will have ten questions. Each question is set for 20 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.
3. The students have to answer 5 full questions, selecting one full question from each module.
4. Marks scored shall be proportionally reduced to 50 marks.

Suggested Learning Resources:


Textbooks
1. Introduction to the Design and Analysis of Algorithms, By Anany Levitin, 3rd Edition (Indian),
2017, Pearson.

Reference books
1. Computer Algorithms/C++, Ellis Horowitz, SatrajSahni and Rajasekaran, 2nd Edition, 2014,
Universities Press.
2. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest, Clifford
Stein, 3rd Edition, PHI.
3. Design and Analysis of Algorithms, S. Sridhar, Oxford (Higher Education)

Web links and Video Lectures (e-Resources):

● Design and Analysis of Algorithms: https://nptel.ac.in/courses/106/101/106101060/

@# 16032024 3

You might also like