Vous êtes sur la page 1sur 8

Lovely Professional University, Punjab

Course Code

Course Title

Course Planner

Lectures

CSE408

DESIGN AND ANALYSIS OF ALGORITHMS

12307::Kiran Kumar Kaki

Course Category

Courses with numerical and conceptual focus

Tutorials Practicals Credits

3.0

TextBooks
Sr No

Title

Author

Edition

Year

Publisher Name

T-1

Introduction to the Design and


Analysis of Algorithm

Anany Levitin

2nd

2003

Pearson Education

Edition

Year

Publisher Name

Reference Books
Sr No

Title

Author

R-1

Introduction to Algorithms

C.E. Leiserson, R.L. Rivest 3rd


and C. Stein

2007

Thomas Telford Publishing

R-2

The Design and Analysis Of


Computer Algorithms

A.V.Aho, J.E. Hopcroft


and J.D.Ullman

2nd

2007

Pearson Education

R-3

Computer Algorithms - Introduction


to Design and Analysis

Sara Baase and Allen Van


Gelder

2nd

2006

Pearson Education

R-4

Fundamentals of Computer
Algorithms

Horowitz, S. Sahni

2nd

2005

Galgotia Publishers

Other Reading
Sr No

Journals articles as Compulsary reading (specific articles, complete reference)

OR-1

http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/Complexity/npComplete.htm (NP Completeness) ,

OR-2

http://delab.csd.auth.gr/~manolopo/Design/ch03.ppt (Brute Force String Matching) ,

OR-3

http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html (Concepts of Design of Algorithms) ,

OR-4

http://www.csc.villanova.edu/~map/8301/lec03.pdf ,

Relevant Websites
Sr No

(Web address) (only if relevant to the course)

Salient Features

RW-1

http://courses.ncsu.edu/ma103/common/media/05/MA103Lct25.mp4

Prims and Kruskals algorithms

RW-2

http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html

Dijkstra's shortest path

RW-3

http://www.cse.yorku.ca/~aaw/Zambito/TSP_L/Web/TSPStart.html

Travelling Salesman Problem

RW-4

http://www.wiwi.uni-jena.de/entscheidung/binpp/

Bin Packing Problems

RW-5

http://www.cs.sunysb.edu/~algorith/files/dfs-bfs.shtml

Connected Components

RW-6

http://mathworld.wolfram.com/VoronoiDiagram.html

Voronoi Diagram

0.0

0.0

3.0

RW-7

http://math.mit.edu/~stevenj/18.335/optimization-handout.pdf

Optimization Problems

LTP week distribution: (LTP Weeks)


Weeks before MTE

Weeks After MTE

Spill Over

Detailed Plan For Lectures


Week
Number

Lecture
Number

Broad Topic(Sub Topic)

Week 1

Lecture 1

Foundations of Algorithm
(Algorithms)

T-1:Chapter 1
(1.1;1.2)

OR-3

Introduction of
algorithms

Would be knowing the Lecture cum


need of algorithm
demonstrations

Foundations of Algorithm
(Fundamentals of Algorithmic
Problem Solving:)

T-1:Chapter 1
(1.1;1.2)

OR-3

Basics of algorithms

Would be knowing
about fundamentals of
algorithms

Foundations of Algorithm(Basic
Algorithm Design Techniques)

T-1:Chapter 1
(1.1;1.2)

OR-3

different design
Would be knowing
techniques of algorithms. how to use design
techniques

lecture cum
demonstration

Foundations of Algorithm
(Analyzing Algorithm)

T-1:Chapter 1
(1.1;1.2)

OR-3

Different types of
analysis

Would be knowing
how to analyze the
algorithm

Lecture cum
demonstrations

Students learn how data Lecture cum


structure is important to demonstrations
design an
Algorithm

Lecture 2

Lecture 3

Chapters/Sections
of Text/reference
books

Other Readings, Lecture Description


Relevant
Websites, Audio
Visual Aids,
software and
Virtual Labs

Learning Outcomes

Pedagogical Tool
Demonstration/ Case
Study / Images /
animation / ppt etc.
Planned

Lecture cum
demonstrations

Foundations of Algorithm
(Fundamental Data Structure:)

T-1:Chapter 1(1.4)

Description of Data
structure

Foundations of Algorithm(Linear
Data Structure)

T-1:Chapter 1(1.4)

Description of arrays
Students learn how
Lecture cum
linked list stack and ques linear data
demonstration
structure is important to
design an
Algorithm

Foundations of Algorithm(Graphs
and Trees)

T-1:Chapter 1(1.4)

Description of Non
linear Data
structure

Students learn how Non Lecture cum


linear data
demonstrations
structure is important to
design an
Algorithm

Foundations of Algorithm
(Fundamentals of the Analysis of
Algorithm Efficiency:)

T-1:Chapter 2(2.1)

Basic knowledge about


concepts
of complexities of
algorithms

Student can able to find Lecture cum


efficiency of algorithm demonstrations

Week 1

Week 2

Lecture 3

Different type of input


sets

Would be knowing how Lecture cum


to measure the input
demonstrations
size

Different notations to
measure running time

How to
Lecture cum
measure size,Measuring demonstrations
Running
Time

Foundations of Algorithm(Order of T-1:Chapter 2(2.1)


Growth)

To find order of growth


for any algorithm

Student able to find


order of growth for
given algorithm

Foundations of Algorithm(WorstCase, Best-Case, and AverageCase Efficiencies)

T-1:Chapter 2(2.1)

Different time
complexities

would be knowing
Lecture cum
difference between
demonstrations
worst best and average
case

Foundations of Algorithm
(Asymptotic Notations and Basic
Efficiency Classes:)

T-1:Chapter 2(2.2)

To represent the time


complexities

Would be knowing how Lecture cum


to represent time
demonstrations
complexities for any
algorithm

Foundations of Algorithm(O(Bigoh)-notation, Big-omega notation,


Big-theta notation)

T-1:Chapter 2(2.2)

Different notations to
represent the
complexities

Student will learn how Lecture cum


to use O,Big omega,Big demonstrations
theta

Foundations of Algorithm(Useful
Property Involving the Asymptotic
Notations)

T-1:Chapter 2(2.2)

Description of Property
Involving the
Asymptotic Notations

Would be knowing
Property Involving the
Asymptotic Notations

Lecture cum
demonstrations

Foundations of Algorithm(Using
Limits for Comparing Orders of
Growth)

T-1:Chapter 2(2.2)

Significance of limits to
compare orders of
growth

Would be knowing
the property in limits

Lecture cum
demonstrations

String Matching Algorithms and


Computational Geometry(Naiva
String-Matching Algorithm)

R-1:Chapter 32

To search pattern from


text

Students learn how to


search pattern from
given text

Lecture cum
demonstrations

String Matching Algorithms and


Computational Geometry(RabinKarp Algorithm)

R-1:Chapter 32

To search pattern from


text

Students learn how to


search pattern from
given text

Lecture cum
demonstrations

Lecture 6

String Matching Algorithms and


Computational Geometry(KnuthMorris-Pratt Algorithm)

R-1:Chapter 32

To search pattern from


text

Students learn how to


search pattern from
given text

Lecture cum
demonstrations

Lecture 7

String Matching Algorithms and


Computational Geometry
(Sequential Search and BruteForce String Matching)

T-1:Chapter 3(3.2 3.3)

To search pattern from


text with brute force
technique

How to find pattern


from given text

Slides and Numerical


Problem Solving

String Matching Algorithms and


Computational Geometry(ClosestPair and Convex-Hull Problem)

T-1:Chapter 3(3.2 3.3)

To find nearest pair and


convex hull

Student will learn how Numerical Problem


to find two closest pairs Solving
and convex hull

String Matching Algorithms and


Computational Geometry
(Exhaustive Search)

T-1:Chapter 3(3.4)

To search till end of the


given text.

How to do exhaustive
search

Lecture 4

Lecture 5

Week 3

Lecture 8

Foundations of Algorithm
(Measuring of Input Size)

T-1:Chapter 2(2.1)

Foundations of Algorithm(Units
for Measuring Running Time)

T-1:Chapter 2(2.1)

OR-3

RW-6

Lecture cum
demonstration

Numerical Problem
Solving

Week 3

Lecture 8

String Matching Algorithms and


Computational Geometry(Voronoi
Diagrams)

T-1:Chapter 3(3.4)

Lecture 9
Week 4

Week 5

Week 6

Description of Voronoi
Diagrams

Students learn how


Voronoi Diagrams is
useful

Slides

Test1

Lecture 10

Divide and Conquer and Order


Statistics(Merge Sort and Quick
Sort)

T-1:Chapter 4(4.1 4.2)

Lecture 11

Divide and Conquer and Order


Statistics(Binary Search)

Divide and Conquer and Order


Statistics(Multiplication of Large
Integers)
Lecture 12

RW-6

Different sorting
techniques

Would be learning the Numerical Problem


method to sort the given Solving
list by using different
methods

T-1:Chapter 4
(4.3;4.5)

To search an element in
logn time

Students learn how we Numerical Problem


can search an element Solving
in logn time with partial
divide and conquer.

T-1:Chapter 4
(4.3;4.5)

Different types of Divide Students learn how we


and Conquer and Order can multiply large
Statistics techniques
integers

Numerical Problem
Solving
Numerical problem
solving

Divide and Conquer and Order


Statistics(Strassen's Matrix
Multiplication)

T-1:Chapter 4(4.5)
R-1:Chapter 4

To reduce the time


complexity from n^3 to
n^2.7

Student will learn how


to reduce the time
complexity with
strassen's matrix
multiplication

Divide and Conquer and Order


Statistics(Substitution Method for
Solving Recurrences)

T-1:Chapter 4(4.5)
R-1:Chapter 4

To find the time


complexities for
recurrence algorithm

Students learn the


Numerical problem
significance of
solving
substitution method and
how to find the time
complexity

Divide and Conquer and Order


Statistics(Recursion-Tree Method
for Solving Recurrences)

T-1:Chapter 4(4.5)
R-1:Chapter 4

To find the time


complexities for
recurrence algorithms

Students learn the


Numerical problem
significance of
solving
recurrence tree method
and how to find time
complexity.

Lecture 13

Divide and Conquer and Order


Statistics(Master Method for
Solving Recurrence)

R-1:Chapter 4

To find the time


complexities for divide
and conquer recurrence
algorithms

Learn the significance


of Master Method

Lecture 14

Divide and Conquer and Order


Statistics(Closest-Pair and
Convex-Hull Problems by Divide
and Conquer)

T-1:4.6 and 5.1

Description of Closest
Pair and Convex Hull
Problems by Divide and
Conquer

Students learn how to Lecture cum


find Closest
demonstrations
Pair and Convex Hull
from given set of points

Lecture 15

Divide and Conquer and Order


Statistics(Decrease and Conquer:
Insertion Sort)

T-1:4.6 and 5.1

To sort the given


elements

Student will learn how Lecture cum


to sort the given
demonstrations
elements in linear time.

Lecture 16

Divide and Conquer and Order


Statistics(Depth-First Search and
Breadth-First Search)

T-1:Chapter 5(5.2)

Description of Depth
Student learn different
First Search and Breadth searching technique
First Search

Numerical Problem
Solving

Numerical Problem
Solving

Week 6

Lecture 17

Divide and Conquer and Order


Statistics(Connected Components)

T-1:Chapter 5(5.3)

Description of
Connected
Components,Topological
Sort

Would be knowing
Lecture cum
Connected
demonstrations
Components,Would be
learning the
method to sort the given
list by using different
methods

Divide and Conquer and Order


Statistics(Topological Sort)

T-1:Chapter 5(5.3)

To sort the graph in


Topological order

Would be knowing
Lecture cum
learning the
demonstrations
method to sort the given
list by using different
methods

Lecture 18
Week 7

Lecture 19

Lecture 20

Lecture 21

Test2
Divide and Conquer and Order
Statistics(Transform and Conquer:
Presorting)

T-1:Chapter 6
(6.16.3)

Application of sorting

Student learn the use of Lecture cum


sorting
demonstrations

Divide and Conquer and Order


Statistics(Balanced Search Trees)

T-1:Chapter 6
(6.16.3)

Description of Balanced Student learn searching Lecture cum


Search Trees
technique
demonstrations

Divide and Conquer and Order


Statistics(Minimum and
Maximum)

T-1:7.1 and 31
R-1:Chapter 9

To get the minimum and Student learn how to


maximum value from
get min and max value
given list
from the given list.

Numerical Problem
Solving

Divide and Conquer and Order


Statistics(Counting Sort, Radix
Sort, Bucket Sort)

T-1:7.1 and 31
R-1:Chapter 9

Different sorting
techniques

Would be learn
different
methods to sort the
given
list by using different
methods

Numerical Problem
Solving

Divide and Conquer and Order


Statistics(Selection Sort and
Bubble Sort)

T-1:7.1 and 31
R-1:Chapter 9

Different sorting
techniques

Would be learn
different
methods to sort the
given
list by using different
methods

Numerical Problem
Solving

Divide and Conquer and Order


Statistics(Heaps and Heapsort)

T-1:6.4 and 7.3

To sort the given list

Student will learn the


use of heap to sort the
elements

Lecture cum
demonstration

Divide and Conquer and Order


Statistics(Hashing)

T-1:6.4 and 7.3

To get the element in


order of one time

Student will learn how Lecture cum


to search an element in demonstration
order of one time

MID-TERM
Week 8

Lecture 22

Dynamic Programming and


Greedy Techniques(Dynamic
Programming: Computing a
Binomial Coefficient)

T-1:Chapter 8(8.1
and 8.2)

To compute binomial
coefficient using
dynamic programming

Student learn use of


Numerical Problem
dynamic programming Solving
to find binomial
coefficients.

Week 8

Week 9

Lecture 22

Dynamic Programming and


Greedy Techniques(Warshall's and
Floyd's Algorithm)

T-1:Chapter 8(8.1
and 8.2)

To find shortest distance Student learn how to


Numerical Problem
between all pairs of the find all pairs shortest
Solving
vertices
path using dynamic
programming approach

Lecture 23

Dynamic Programming and


Greedy Techniques(Optimal
Binary Search Trees)

T-1:Chapter 8(8.3
and 8.4)

To find best BST

Student will learn how


to find optimal binary
search tree

Dynamic Programming and


Greedy Techniques(Knapsack
Problem and Memory Functions)

T-1:Chapter 8(8.3
and 8.4)

To get maximum profit

Would be learn how to Lecture cum


fill knapsack with items demonstrations

Lecture 24

Dynamic Programming and


Greedy Techniques(Matrix-Chain
Multiplication)

R-1:Chapter 15

To find parenthesization Students learn use of


MCM to multiply two
matrices

Lecture 25

Dynamic Programming and


Greedy Techniques(Longest
Common Subsequence)

R-1:Chapter 15

To find longest common would be knowing how Numerical Problem


sub sequence from two to get CSS from two
Solving
lists
lists.

Lecture 26

Dynamic Programming and


Greedy Techniques(Greedy
Technique and Graph Algorithm:
Minimum Spanning Trees)

T-1:Chapter 9(9.1
9.2 )
R-1:Chapter 23

Dynamic Programming and


Greedy Techniques(Prim's
Algorithm)

T-1:Chapter 9(9.1
9.2 )
R-1:Chapter 23

Dynamic Programming and


Greedy Techniques(Kruskal's
Algorithm)
Lecture 27

Week 10

Lecture cum
demonstrations

Numerical Problem
Solving

Different type of
techniques to find out
Minimum Spanning
Trees

Students learn how to


find out Minimum
Spanning Trees

Lecture cum
demonstrations

RW-1

Different type of
techniques to find out
Minimum Spanning
Trees

Students learn how to


find out Minimum
Spanning Trees

Lecture cum
demonstrations

T-1:Chapter 9(9.1
9.2 )
R-1:Chapter 23

RW-1

Different type of
techniques to find out
Minimum Spanning
Trees

Students learn how to


find out Minimum
Spanning Trees

Lecture cum
demonstrations

Dynamic Programming and


Greedy Techniques(Dijkstra's
Algorithm)

T-1:Chapter 9(9.3
9.4)

RW-2

To find single source


shortest path

Students learn how to


find out shortest path

Numerical Problem
Solving

Dynamic Programming and


Greedy Techniques(Huffman
Code)

T-1:Chapter 9(9.3
9.4)

To find coding for


encryption

Student learn how to


find coding according
to huffman

Numerical Problem
Solving
Lecture cum
demonstrations

Lecture 28

Dynamic Programming and


Greedy Techniques(Single-Source
Shortest Paths)

R-1:Chapter 24

Different type of Single


Source Shortest Paths
Problems may be
covered in one lecture
contingency of one
lecture

Students learn Single


Source Shortest Paths
problems

Lecture 29

Dynamic Programming and


Greedy Techniques(All-Pairs
Shortest Paths)

R-1:Chapter 25

Different type of All


Pairs Shortest Paths
Problem

Students learn All Pairs Lecture cum


Shortest Paths problems demonstrations

Lecture 30

Dynamic Programming and


Greedy Techniques(Iterative
Improvement: The MaximumFlow Problem)

T-1:Chapter 10(10.2)

Description of The
Students learn Iterative Numerical Problem
Maximum Flow Problem Improvement
Solving

Week 11

Week 12

Week 13

Lecture 31

Dynamic Programming and


T-1:Chapter 11(11.1)
Greedy Techniques(Limitations of
Algorithm Power: Lower-Bound
Theory)

Description of Lower
Bound Theory

Learn Limitations of
Algorithm Power

Lecture 32

Backtracking and Approximation


Algorithms(Backtracking: nQueens Problem)

T-1:Chapter 12(12.1)

Description of
Backtracking problems

Would be knowing
Numerical Problem
Backtracking technique Solving

Lecture 33

Backtracking and Approximation


Algorithms(Hamiltonian Circuit
Problem)

T-1:Chapter 12(12.1)

To find Hamiltonian
circuit

Students learn how to


find
Hamiltonian Circuit

Backtracking and Approximation


Algorithms(Subset-Sum Problem)

T-1:Chapter 12(12.1)

To find subset from


given set

Students learn
Numerical Problem
how to find subset from Solving
given subset eloquent
with sum

Lecture 34

Numerical Problem
Solving

Test3

Lecture 35

Backtracking and Approximation


Algorithms(Branch-and-Bound:
Assignment Problem)

T-1:Chapter 12(12.2)

To assign the jobs to


workers

Lecture 36

Backtracking and Approximation


Algorithms(Knapsack Problem)

T-1:Chapter 12(12.2)

To place max number of Learn how to get max


items in knapsack to get profit after placing
max profit
items.

Lecture cum
demonstrations

Lecture 37

Backtracking and Approximation


Algorithms(Traveling Salesman
Problem)

T-1:Chapter 12(12.2)
R-1:Chapter 35

To traverse all the cities


ones

Numerical Problem
Solving

Backtracking and Approximation T-1:Chapter 12(12.2)


Algorithms(Vertex-Cover Problem
R-1:Chapter 35
and Set-Covering Problem)

Week 14

Slides

Lecture 38

Backtracking and Approximation


Algorithms(Bin Packing Problems)

Lecture 39

Number-Theoretic Algorithms and


Complexity Classes(Number
Theory Problems: Modular
Arithmetic)

R-1:Chapter 31

Lecture 40

Number-Theoretic Algorithms and


Complexity Classes(Chinese
Remainder Theorem)

R-1:Chapter 31

Lecture 41

Number-Theoretic Algorithms and


Complexity Classes(Greatest
Common Divisor)

R-1:Chapter 31

Number-Theoretic Algorithms and


Complexity Classes(Optimization
Problems)

R-1:Chapter 31

learn how to assign the Lecture cum


jobs to workers in
demonstrations
optimal time

Student will learn to


find optimal value to
traverse all the cities

To cover all the edges in Students learn how to Numerical Problem


given graph
cover all the edges with Solving
given vertices
RW-4

To pack different sizes


with bins

Student would Learn


how to pack different
sizes with Bins

Numerical Problem
Solving

Description of Modular
Arithmetic

Students learn Different Slides


Number Theory
Problems

Chinese Remainder
Students learn how to
Theorem may be covered get modules values
from Chinese
in one lecture
Remainder Theorem
contingency of one
lecture

Lecture cum
demonstrations

RW-7

Greatest Common
Divisor

Student learn about


GCD

Lecture cum
demonstrations

RW-7

To find best solution

Student learn how to


get optimization
problem

Lecture cum
demonstrations

Week 14

Lecture 42

Number-Theoretic Algorithms and T-1:Chapter 11(11.3)


Complexity Classes(Basic
R-1:Chapter 34
Concepts of Complexity ClassesP, NP, NP-hard, NP-complete
Problems)

OR-1

Basic Concepts of
Complexity Classes

Student learn categories Lecture cum


of algorithms
demonstrations

SPILL OVER
Week 15

Lecture 43

Spill Over

Lecture 44

Spill Over

Lecture 45

Spill Over

Scheme for CA:


Component

Frequency

Test

Out Of
2

Each Marks Total Marks


3

Total :-

10

20

10

20

Details of Academic Task(s)


AT No.

Objective

Topic of the Academic Task

Nature of Academic Task


(group/individuals/field
work

Evaluation Mode

Allottment /
submission Week

Test1

To test the
Test 1 - will be covering syllabus from lecture 1 to lecture 8
understanding level
of the students for
topics covered as
mentioned in the
detail.

Individual

Step by step
evaluation of
attempted questions.

2/3

Test2

To test the
Test 2 - will be covering syllabus from lecture 10 to lecture 17
understanding level
of the students for
topics covered as
mentioned in the
detail.

Individual

Step by step
evaluation of
attempted questions.

5/6

Test3

To test the
Test 3 - will be covering syllabus from lecture 22 to lecture 33
understanding level
of the students for
topics covered as
mentioned in the
detail.

Individual

Step by step
evaluation of
attempted questions.

11 / 12