Sei sulla pagina 1di 8

ANAND INSTITUTE OF HIGHER TECHNOLOGY

(Affiliated to Anna University Chennai )


Kazhipattur,Chennai.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
REGULATION 2013
IV Semester
COURSE DESCRIPTION
Course Code : CS6402
Course Title : Design And Analysis of Algorithm
Course Structure : Lectures Tutorials Practicals Credits
3 0 0 3
Course Coordinator : Dr.S.Roslin Mary[Prof and Head/CSE]
Team of Instructors : Mr.N.Vasudevan[AP/CSE]

I. Course Overview:
The primary objective of this course is to introduce the topic of algorithms as a precise
mathematical concept, and study how to design algorithms, establish their correctness, study their
efficiency and memory needs. The course consists of a strong mathematical component in addition to the
design of various algorithms.
II. Prerequisite(s):
Level Credits Periods/Week Prerequisites
UG 3 5 Basic Data structures,
Basic Discrete
Mathematics
III. Mark Distribution:
Internal Marks University Exam Marks Total Marks
Internal marks out of 20 will
be calculated based on the
attendance and the marks
obtained in the Continuous
Assessment Tests ie., 2
monthly and 1 Model
examinations which will be
conducted during the semester
as per the schedule framed by
the Anna University. Marks 80 100
shall be awarded by
considering the average of the
three Continuous Assessment
Tests as well as the students
attendance. In case a student
does not appear in the
Continuous Assessment Tests
due to any reason whatsoever,
will get zero marks(s).
IV. Evaluation Scheme:
Continuous Assessment Tests 15
Attendance 5
End Semester Examination 80

V. Course Objectives:
1. Learn the algorithm analysis techniques.
2. Become familiar with the different algorithm design techniques.
3. Understand the limitations of Algorithm power.

VI. Course Outcomes:


Upon completion of this course, students will get the knowledge about:
1. To explain the basic concepts of time and space complexity and various design strategies.
2. To describe the methodologies of how to analyze an algorithm based on divide and
conquer and greedy strategies.
3. To solve various problems based dynamic programming method.
4. To Apply and solve the ideas designed by backtracking techniques.
5. To explaining the graph and trees concepts and analyze the branch and bound
approximation algorithms.

VII. How Course Outcomes are assessed:


Program Outcomes Level Proficiency assessed
by
a The students will have the ability to apply N
knowledge of computing, mathematics, science and
engineering fundamentals appropriate to the
discipline
b The students will have the ability to analyze a H Assignments, Tutorials,
problem, and identify and formulate the computing Exams
requirements appropriate to its solution.
c The students will have the ability to design a N
algorithm ,develop a processor specific code to
meet the specification of the real world problems
d The students will have the ability to formulate a H Assignments, Tutorials,
rule/knowledge based method and to apply Exams
heuristic approaches to interpret and analyze the
data for the attainment of problem optimization
e The students will have the ability to conceptualize N
the problem requirements and to identify the
appropriate computing platforms in developing a
specific solution.

f The students will have the ability to apply various H Assignments, Exams
software engineering models and to develop a
computational/IT solutions to support the needs of
public and private welfare
g N
The students will have the potential to adopt
systematic and effective approach in developing an
application specific modules based on the
guidelines given by the professional society.
h The students will have the ability to exhibit N
effective teamwork during diverse and
multidisciplinary areas such as information
management, human computer interaction,
programming, networking, web systems and
pervasive computing
i The students will have the ability to function as a N
team and to communicate effectively their
innovative ideas and software models in various
technical forums
j The students will have the ability to device a N
strategic work plan for the design problems and
will document the evidence and future directions
for the benefit of the society
k The students will have the motivation in updating H Assignments, Tutorials,
the current and futuristic needs of the society and Exams
adopt themselves according to the scenario.

N = None S = Supportive H = Highly Related

VIII. Syllabus:

CS6402 DESIGN AND ANALYSIS OF ALGORITHMS

UNITI INTRODUCTION 9
Notion of an Algorithm Fundamentals of Algorithmic Problem Solving Important Problem
Types Fundamentals of the Analysis of Algorithm Efficiency Analysis Framework
Asymptotic Notations and its properties Mathematical analysis for Recursive and Non-
recursive algorithms.
UNIT II BRUTE FORCE AND DIVIDE-AND-CONQUER 9
Brute Force - Closest-Pair and Convex-Hull Problems-Exhaustive Search - Traveling
Salesman Problem - Knapsack Problem - Assignment problem.Divide and conquer methodology
Merge sort Quick sort Binary search Multiplication of Large Integers Strassens
Matrix Multiplication-Closest-Pair and Convex-Hull Problems.
UNITIII DYNAMIC PROGRAMMING AND GREEDY TECHNIQUE
9
Computing a Binomial Coefficient Warshalls and Floyd algorithm Optimal Binary Search
Trees Knapsack Problem and Memory functions. Greedy Technique Prims algorithm-
Kruskal's Algorithm- Dijkstra's Algorithm-Huffman Trees.
UNIT IV ITERATIVE IMPROVEMENT
9
The Simplex Method-The Maximum-Flow Problem Maximm Matching in Bipartite
Graphs- The Stable marriage Problem.
UNIT V COPINGWITH THE LIMITATIONS OF ALGORITHM POWER
9
Limitations of Algorithm Power-Lower-Bound Arguments-Decision Trees-P, NP and NP-
Complete Problems--Coping with the Limitations - Backtracking n-Queens problem
Hamiltonian Circuit Problem Subset Sum Problem-Branch and Bound Assignment problem
Knapsack Problem Traveling Salesman Problem- Approximation Algorithms for NP
Hard Problems Traveling Salesman problem Knapsack problem.
IX. List of Text Books / References / Websites / Journals / Others:
TEXT BOOK:
1. Anany Levitin, Introduction to the Design and Analysis of Algorithms, Third Edition,
Pearson
Education, 2012.
REFERENCES:
1. Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, Introduction
to
Algorithms, Third Edition, PHI Learning Private Limited, 2012.
2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms,
Pearson
Education, Reprint 2006.
3. Donald E. Knuth, The Art of Computer Programming, Volumes 1& 3 Pearson Education,
2009.
Steven S. Skiena, The Algorithm Design Manual, Second Edition, Springer, 2008.
4. http://nptel.ac.in/

X. Course Plan:

The course plan is meant as a guideline. There may probably be changes.

Lecture
Learning Objective Topics to be covered Reference
No.
1 To understand the definition of Notion of an Algorithm T1(1.1)
Algorithm and rules for writing
the algorithm

2 To know the steps that need to be Fundamentals of Algorithmic T1(1.2)


followed while designing and Problem Solving
analyzing an algorithm

3 To illustrate the computing Important Problem Types T1(1.3)


problem types
4,5 To understand the systematic Fundamentals of the Analysis T1(2.1)
approach and framework that has of Algorithm Efficiency,
to be applied for analyzing any Analysis Framework
algorithm

6 To measure the efficiency by Asymptotic Notations and its T1(2.2)


computing time complexity of properties
algorithm

7,8 To analyze the efficiency of Mathematical analysis for T1(2.3,2.4)


recursive and non-recursive Recursive and Non-recursive
algorithms algorithms.

9 To describe a straightforward Brute Force T1(3)


approach of solving the problem

10 To identify the two closest points Closest-Pair and Convex- T1(3.3)


from the set of points Hull Problems

11 To collect a solution by searching Exhaustive Search T1(3.4)


each element of a given problem

12 To discover shortest Hamiltonian Traveling Salesman Problem T1(3.4)


circuit of a graph

13 To select the most valuable Knapsack Problem T1(3.4)


objects to fill the Knapsack to its
capacity

14 To discover the assignment that Assignment problem T1(3.4)


gives smallest total cost

15 To generate a solution using Divide and conquer T1(4)


divide and conquer. methodology

16,17 To arrange an element Merge sort, Quick sort T1(4.1,4.2)


dynamically using divide and
conquer strategy.

18 To compare search key with the Binary search T1(4.3)


array elements and analyze the
efficiency of binary search.

19,20 To illustrate the method of Multiplication of Large T1(4.5)


Strassens matrix multiplication Integers, Strassens Matrix
using divide and conquer Multiplication
approach.

21 To solve convex hull problem Closest-Pair and Convex-Hull T1(4.6)


using quick sort technique. Problems

22 To illustrate an example of Computing a Binomial T1(8.1)


applying dynamic programming. Coefficient

23 To construct an application of Warshalls and Floyd T1(8.2)


dynamic programming. algorithm

24 To devise a tree with optimum Optimal Binary Search Trees T1(8.3)


cost.

25 To solve Knapsack problem Knapsack Problem and T1(8.4)


using dynamic programming Memory functions
approach and overlapping
subproblems using memorization

26-28 To obtain an optimal solution Greedy Technique, Prims T1(9.1,9.2)


using greedy approach. algorithm, Kruskal's
Algorithm

29,30 To discover shortest path from a Dijkstra's Algorithm T1(9.3)


single source vertex.

31 To construct a tree for encoding a Huffman Trees. T1(9.4)


given text of n characters.

32 To understand the Linear The Simplex Method T1(10.1)


Programming concept.

33 To compute the greatest rate at The Maximum-Flow Problem T1(10.2)


which material can be moved or
travelled from source to sink
without violating any constraints.

34 To compute maximum matching Maximum Matching in T1(10.3)


in a graph. Bipartite Graphs

35 To find stable matching between The Stable marriage Problem T1(10.4)


two sets with various preferences
to each other.
36 To estimate minimum amount of Limitations of Algorithm T1(11.1)
work needed to solve the Power-Lower-Bound
problem. Arguments

37 To derive lower bounds from Decision Trees T1(11.2)


decision trees for sorting
algorithm.

38 To solve the problem in a P, NP and NP-Complete T1(11.3)


polynomial time and non- Problems
deterministic polynomial time.

39 To develop a vector, one Coping with the Limitations T1(12.1)


component at a time and to test Backtracking, n-Queens
whether the vector is being problem
formed has any chance of
success.

40 To discover a path from x to y by Hamiltonian Circuit Problem T1(12.1)


visiting each node in the graph
exactly once.

41 To find a subset whose sum is Subset Sum Problem T1(12.1)


equal to given positive integer.

42 To generate a space tree for all Branch and Bound T1(12.2)


possible solutions.

43 To ensure no two selected Assignment problem T1(12.2)


elements are in the same column
and their sum is smallest as far as
possible.

44 To obtain filling of Knapsack Knapsack Problem T1(12.2)


with maximum profit earned.

45 To calculate cheapest round-trip Traveling Salesman Problem T1(12.2)


such that each city is visited
exactly once and then returning
to starting city.

46-48 To obtain approximate solutions Approximation Algorithms for T1(12.3)


to optimization problem. NP Hard Problems
Traveling Salesman problem
Knapsack problem.
XI. Mapping course objectives leading to the achievement of the program
outcomes:

Course Program Outcomes


Outcomes a b c d e f g h i j k
1 H
2 S H S H
3 S H H

S = Supportive H = Highly Related

XII. Mapping course outcome leading to the achievement of the program


outcomes:

Course Program Outcomes


Objectives a b c d e f g h i j k
I H H H
II H H H H
III H H
IV H H
V H H H

S = Supportive H = Highly Related

Prepared By : Mr.Vasudevan.N

Date : 08/11/2016

Potrebbero piacerti anche