You are on page 1of 8

Lovely Professional University, Punjab

Course Code CSE408 Course Category Course Title DESIGN AND ANALYSIS OF ALGORITHMS Courses with numerical and conceptual focus Course Planner 14624::Parveen Kumar Lectures 3.0 Tutorials Practicals Credits 0.0 0.0 3.0

TextBooks Sr No T-1 Title Introduction to the Design and Analysis of Algorithm Reference Books Sr No R-1 R-2 R-3 R-4 Other Reading Sr No OR-1 OR-2 OR-3 OR-4 OR-5 Journals articles as Compulsary reading (specific articles, complete reference) http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/Complexity/npComplete.htm (NP Completeness) , http://delab.csd.auth.gr/~manolopo/Design/ch03.ppt (Brute Force String Matching) , http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html (Concepts of Design of Algorithms) , http://www.csc.villanova.edu/~map/8301/lec03.pdf , http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/Sorting/quickSort.htmdevices , Title Introduction to Algorithms The Design and Analysis Of Computer Algorithms Computer Algorithms - Introduction to Design and Analysis Fundamentals of Computer Algorithms Author Edition Year 2007 2007 2006 2005 Publisher Name Thomas Telford Publishing Pearson Education Pearson Education Galgotia Publishers C.E. Leiserson, R.L. Rivest 3rd and C. Stein A.V.Aho, J.E. Hopcroft and J.D.Ullman Sara Baase and Allen Van Gelder Horowitz, S. Sahni 2nd 2nd 2nd Author Anany Levitin Edition 2nd Year 2003 Publisher Name Pearson Education

Relevant Websites Sr No RW-1 RW-2 RW-3 RW-4 RW-5 (Web address) (only if relevant to the course) http://courses.ncsu.edu/ma103/common/media/05/MA103Lct25.mp4 http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html http://www.cse.yorku.ca/~aaw/Zambito/TSP_L/Web/TSPStart.html http://www.wiwi.uni-jena.de/entscheidung/binpp/ http://www.cs.sunysb.edu/~algorith/files/dfs-bfs.shtml Salient Features Prims and Kruskals algorithms Dijkstra's shortest path Travelling Salesman Problem Bin Packing Problems Connected Components

RW-6 RW-7

http://mathworld.wolfram.com/VoronoiDiagram.html http://math.mit.edu/~stevenj/18.335/optimization-handout.pdf

Voronoi Diagram Optimization Problems

LTP week distribution: (LTP Weeks) Weeks before MTE Weeks After MTE Spill Over 7 7 3

Detailed Plan For Lectures


Week Number Lecture Number Broad Topic(Sub Topic) Chapters/Sections of Text/reference books Other Readings, Lecture Description Relevant Websites, Audio Visual Aids, software and Virtual Labs Basic description of Algorithm Basic fundamentals of Algorithm Learning Outcomes Pedagogical Tool Demonstration/ Case Study / Images / animation / ppt etc. Planned Sildes Sildes

Week 1

Lecture 1

Foundations of Algorithm (Algorithms) Foundations of Algorithm (Fundamentals of Algorithmic Problem Solving:) Foundations of Algorithm(Basic Algorithm Design Techniques) Foundations of Algorithm (Analyzing Algorithm)

T-1:Chapter 1 (1.1) T-1:Chapter 1 (1.2)

Students learn about Algorithm Would be knowing about fundamentals of algorithms

T-1:Chapter 1 (1.2)

Description of algorithm Students learn about design Algorithm design techniques techniques Knowledge about analyzing algorithm Description of Data structure Would be knowing Analyzing Algorithm

Slides

T-1:Chapter 1 (1.2) T-1:Chapter 1 (1.4)

Lecture cum demonstrations

Lecture 2

Foundations of Algorithm (Fundamental Data Structure:)

Students learn how data Slides structure is important to design an Algorithm Foundations of Algorithm Slides

Foundations of Algorithm(Linear Data Structure) Foundations of Algorithm(Graphs and Trees) Lecture 3 Foundations of Algorithm (Fundamentals of the Analysis of Algorithm Efficiency:) Foundations of Algorithm (Measuring of Input Size) Foundations of Algorithm(Units for Measuring Running Time)

T-1:Chapter 1 (1.4) T-1:Chapter 1 (1.4) T-1:Chapter 2

Introduction of linear data structure

Introduction of trees and Get Knowledge of trees Slides grapgs and graphs Basic knowledge about About algorithms and concepts Fundamentals of the of complexities of Analysis of Algorithm algorithms Description of Students learn How to Measuring of Input Size measure size Description of Units for Measuring Running Time Students learn Measuring Running Time Slides

T-1:Chapter 2 (2.1) T-1:Chapter 2 (2.1)

Slides Slides

Week 1

Lecture 3

Foundations of Algorithm(Order of T-1:Chapter 2 (2.1) Growth) Foundations of Algorithm(WorstCase, Best-Case, and AverageCase Efficiencies) T-1:Chapter 2 (2.1)

Description of Order of Growth Concepts of complexities of algorithms Concepts of Asymptotic Notation Concepts of Asymptotic Notation

Students learn about Order of Growth Would be knowing complexity classes Students learn why Asymptotic Notations use in algorithm

Lecture cum demonstrations Lecture cum demonstrations Video

Week 2

Lecture 4

Foundations of Algorithm (Asymptotic Notations and Basic Efficiency Classes:) Foundations of Algorithm(O(Bigoh)-notation, Big-omega notation, Big-theta notation) Foundations of Algorithm(Useful Property Involving the Asymptotic Notations) Foundations of Algorithm(Using Limits for Comparing Orders of Growth)

T-1:Chapter 2 (2.2)

T-1:Chapter 2 (2.2)

Why O notation, omega Video notation, theta notation is important in algorithm Would be knowing Property Involving the Asymptotic Notations Would be knowing Limits for Comparing Orders of Growth Lecture cum demonstrations Slides

T-1:Chapter 2 (2.2)

Description of Property Involving the Asymptotic Notations Limits for Comparing Orders of Growth Different types of string matching algorithms

T-1:Chapter 2 (2.2)

Lecture 5

String Matching Algorithms and Computational Geometry(Naiva String-Matching Algorithm) String Matching Algorithms and Computational Geometry(RabinKarp Algorithm)

R-1:Chapter 32

Students learn different Lecture cum type of demonstrations String Matching Algorithms Students learn different Lecture cum type of demonstrations String Matching Algorithms Students learn different Lecture cum type of demonstrations String Matching Algorithms Students learn different Lecture cum type of demonstrations String Matching Algorithms Would be knowing Closest Pair and Convex Hull Problem Students learn about Exhaustive Search Students learn how Voronoi Diagrams is useful Slides

R-1:Chapter 32

Different types of string matching algorithms

Lecture 6

String Matching Algorithms and Computational Geometry(KnuthMorris-Pratt Algorithm) String Matching Algorithms and Computational Geometry (Sequential Search and BruteForce String Matching) String Matching Algorithms and Computational Geometry(ClosestPair and Convex-Hull Problem)

R-1:Chapter 32

Different types of string matching algorithms

Week 3

Lecture 7

T-1:Chapter 3 (3.2)

Different types of string matching algorithms

T-1:Chapter 3 (3.3)

Description of Closest Pair and Convex Hull Problem Description of Exhaustive Search RW-6 Description of Voronoi Diagrams Different sorting techniques

Lecture 8

String Matching Algorithms and Computational Geometry (Exhaustive Search) String Matching Algorithms and Computational Geometry(Voronoi Diagrams)

T-1:Chapter 3 (3.4)

Lecture cum demonstrations Slides

Lecture 9

Divide and Conquer and Order Statistics(Merge Sort and Quick Sort)

T-1:Chapter 4 (4.1 4.2)

Would be learning the Numerical Problem method to sort the given Solving list by using different methods

Week 4

Lecture 10

Test 1

Week 4

Lecture 11

Divide and Conquer and Order Statistics(Binary Search) Divide and Conquer and Order Statistics(Multiplication of Large Integers)

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

Description of Binary Search

Students learn searching technique

Lecture cum demonstrations Numerical Problem Solving Lecture cum demonstrations

Different types of Divide Students learn how we and Conquer and Order can multiply large Statistics techniques integers Use of Strassen Matrix Multiplicatio Use of Substitution Method for Solving Recurrences Use of Recursion Tree Method for Solving Recurrences Use of Master Method for Solving Recurrence may be covered in one lecture contingency of one lecture Use of Master Method for Solving Recurrence may be covered in one lecture contingency of one lecture Students learn how we can multiply matrix

Lecture 12

Divide and Conquer and Order Statistics(Strassen's Matrix Multiplication) Divide and Conquer and Order Statistics(Substitution Method for Solving Recurrences) Divide and Conquer and Order Statistics(Recursion-Tree Method for Solving Recurrences)

T-1:Chapter 4 (4.5)

R-1:Chapter 4

Students learn about Numerical Problem Substitution Method for Solving Solving Recurrences Students learn about Method for Solving Recurrences Learn Master Method Numerical Problem Solving Numerical Problem Solving

R-1:Chapter 4

Week 5

Lecture 13

Divide and Conquer and Order Statistics(Master Method for Solving Recurrence)

R-1:Chapter 4

Lecture 14

Divide and Conquer and Order Statistics(Master Method for Solving Recurrence)

R-1:Chapter 4

Learn Master Method

Numerical Problem Solving

Lecture 15

Divide and Conquer and Order Statistics(Closest-Pair and Convex-Hull Problems by Divide and Conquer) Divide and Conquer and Order Statistics(Decrease and Conquer: Insertion Sort)

T-1:Chapter 4 (4.6)

Description of Closest Students learn Closest Pair and Convex Hull Pair and Convex Hull Problems by Divide and Problems Conquer Sorting technique

Slides

T-1:Chapter 5 (5.1)

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

Week 6

Lecture 16

Divide and Conquer and Order Statistics(Depth-First Search and Breadth-First Search) Divide and Conquer and Order Statistics(Connected Components) Divide and Conquer and Order Statistics(Topological Sort)

T-1:Chapter 5 (5.2)

Description of Depth Student learn different First Search and Breadth searching technique First Search RW-5 Description of Connected Components Topological Sort

Lecture 17

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

T-1:Chapter 5 (5.3)

Lecture 18

Divide and Conquer and Order Statistics(Transform and Conquer: Presorting) Divide and Conquer and Order Statistics(Balanced Search Trees)

T-1:Chapter 6 (6.1)

Sorting technique

T-1:Chapter 6 (6.3)

Description of Balanced Student learn searching Lecture cum Search Trees technique demonstrations

Week 7

Lecture 19 Lecture 20 Divide and Conquer and Order Statistics(Minimum and Maximum) Divide and Conquer and Order Statistics(Selection Sort and Bubble Sort) R-1:Chapter 9

Test 2 Description of Minimum Would be learn about and Maximum Minimum and Maximum Different sorting techniques Would be learn different methods to sort the given list by using different methods Would be learn different methods to sort the given list by using different methods Slides

T-1:Chapter 3 (3.1)

Numerical Problem Solving

Divide and Conquer and Order Statistics(Counting Sort, Radix Sort, Bucket Sort)

T-1:Chapter 7 (7.1)

Different sorting techniques

Numerical Problem Solving

Lecture 21

Divide and Conquer and Order Statistics(Heaps and Heapsort)

T-1:Chapter 6 (6.4)

Different sorting techniques

Would be learn about Lecture cum the demonstrations method to sort the given list by using different methods Would be learn about hashing Slides

Divide and Conquer and Order Statistics(Hashing)

T-1:Chapter 7 (7.3)

Description of hashing

MID-TERM
Week 8 Lecture 22 Dynamic Programming and Greedy Techniques(Dynamic Programming: Computing a Binomial Coefficient) Dynamic Programming and Greedy Techniques(Warshall's and Floyd's Algorithm) Lecture 23 Dynamic Programming and Greedy Techniques(Warshall's and Floyd's Algorithm) Dynamic Programming and Greedy Techniques(Optimal Binary Search Trees) Dynamic Programming and Greedy Techniques(Knapsack Problem and Memory Functions) Week 9 Lecture 25 Dynamic Programming and Greedy Techniques(Matrix-Chain Multiplication) Dynamic Programming and Greedy Techniques(Longest Common Subsequence) T-1:Chapter 8 (8.1) Description of Dynamic Student learn what is Slides Programming and Dynamic Programming Greedy Techniques and Greedy Techniques Different types of Dynamic Programming and Greedy Techniques Different types of Dynamic Programming and Greedy Techniques Different types of Dynamic Programming and Greedy Techniques Students learn how Numerical Problem Dynamic Programming Solving and Greedy Techniques work Students learn how Numerical Problem Dynamic Programming Solving and Greedy Techniques work Would be learn search tree Lecture cum demonstrations Lecture cum demonstrations Numerical Problem Solving Numerical Problem Solving

T-1:Chapter 8 (8.2)

T-1:Chapter 8 (8.2)

Lecture 24

T-1:Chapter 8 (8.3)

T-1:Chapter 8 (8.4)

Description of Knapsack Students learn what is Problem Knapsack Problem Different type of Dynamic Programming and Greedy Techniques Different type of Dynamic Programming and Greedy Techniques Students learn Matrix Chain Multiplication Would get knowledge of Longest Common Sub sequence

R-1:Chapter 15

R-1:Chapter 15

Week 9

Lecture 26

Dynamic Programming and Greedy Techniques(Greedy Technique and Graph Algorithm: Minimum Spanning Trees) Dynamic Programming and Greedy Techniques(Prim's Algorithm) Dynamic Programming and Greedy Techniques(Kruskal's Algorithm)

T-1:Chapter 9 R-1:Chapter 23

Different type of Dynamic Programming and Greedy Techniques Different type of techniques to find out Minimum Spanning Trees Different type of techniques to find out Minimum Spanning Trees Different type of techniques to find out Minimum Spanning Trees Description of Huffman Code Different type of Single Source Shortest Paths Problems may be covered in one lecture contingency of one lecture Different type of Single Source Shortest Paths Problems may be covered in one lecture contingency of one lecture Different type of All Pairs Shortest Paths Problem

They will get Greedy Techniques and Graph Algorithm Students learn how to find out Minimum Spanning Trees Students learn how to find out Minimum Spanning Trees Students learn how to find out Minimum Spanning Trees They will learn Huffman Code Students learn Single Source Shortest Paths problems

Lecture cum demonstrations

T-1:Chapter 9 (9.1)

Lecture cum demonstrations

T-1:Chapter 9 (9.2)

Video

Lecture 27

Dynamic Programming and Greedy Techniques(Dijkstra's Algorithm) Dynamic Programming and Greedy Techniques(Huffman Code)

T-1:Chapter 9 (9.3)

Video

T-1:Chapter 9 (9.4)

Slides

Week 10

Lecture 28

Dynamic Programming and Greedy Techniques(Single-Source Shortest Paths)

R-1:Chapter 24

Lecture cum demonstrations

Lecture 29

Dynamic Programming and Greedy Techniques(Single-Source Shortest Paths)

R-1:Chapter 24

Students learn Single Source Shortest Paths problems

Lecture cum demonstrations

Lecture 30

Dynamic Programming and Greedy Techniques(All-Pairs Shortest Paths) Dynamic Programming and Greedy Techniques(Iterative Improvement: The MaximumFlow Problem) Dynamic Programming and Greedy Techniques(Limitations of Algorithm Power: Lower-Bound Theory)

R-1:Chapter 25

Students learn All Pairs Lecture cum Shortest Paths problems demonstrations

Week 11

Lecture 31

T-1:Chapter 10 (10.2)

Description of The Students learn Iterative Slides Maximum Flow Problem Improvement

T-1:Chapter 11 (11.1)

Description of Lower Bound Theory

Learn Limitations of Algorithm Power

Slides

Lecture 32

Backtracking and Approximation Algorithms(Backtracking: nQueens Problem) Backtracking and Approximation Algorithms(Hamiltonian Circuit Problem)

T-1:Chapter 12 (12.1) T-1:Chapter 12 (12.1)

Description of Backtracking problems Description of Hamiltonian Circuit Problem

Would be knowing Numerical Problem Backtracking technique Solving Students learn Hamiltonian Circuit Problem Slides

Lecture 33

Week 11

Lecture 33

Backtracking and Approximation Algorithms(Subset-Sum Problem)

T-1:Chapter 12 (12.1)

Description of Subset Sum Problem Test 3

Students learn Subset Sum Problem

Slides

Week 12

Lecture 34 Lecture 35 Backtracking and Approximation Algorithms(Branch-and-Bound: Assignment Problem) Backtracking and Approximation Algorithms(Knapsack Problem) Backtracking and Approximation Algorithms(Traveling Salesman Problem) Backtracking and Approximation Algorithms(Vertex-Cover Problem and Set-Covering Problem) Lecture 38 Backtracking and Approximation Algorithms(Bin Packing Problems) Number-Theoretic Algorithms and Complexity Classes(Number Theory Problems: Modular Arithmetic) Lecture 39 Number-Theoretic Algorithms and Complexity Classes(Chinese Remainder Theorem) R-1:Chapter 31 T-1:Chapter 12 (12.2) T-1:Chapter 12 (12.2) T-1:Chapter 12 (12.2) R-1:Chapter 35 R-1:Chapter 35

Description of Branch and Bound Assignment Problem

Get knowledge of Branch and Bound Assignment Problem

Slides

Lecture 36

Description of Knapsack Learn Knapsack Problem Problem Traveling Salesman Problem Learn Traveling Salesman Problem

Lecture cum demonstrations Slides

Week 13

Lecture 37

Description of Vertex Cover Problem and Set Covering Problem RW-4 Bin Packing Problems Description of Modular Arithmetic

Students learn Vertex Slides Cover Problem and Set Covering Problem Learn Bin Packing Problems Numerical Problem Solving

Students learn Different Slides Number Theory Problems

R-1:Chapter 31

Chinese Remainder Students learn Chinese Lecture cum Theorem may be covered Remainder Theorem demonstrations in one lecture contingency of one lecture Chinese Remainder Students learn Chinese Lecture cum Theorem may be covered Remainder Theorem demonstrations in one lecture contingency of one lecture Greatest Common Divisor RW-7 Description of Optimization Problems Basic Concepts of Complexity Classes Learn Chinese Remainder Theorem Lecture cum demonstrations

Week 14

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) Number-Theoretic Algorithms and Complexity Classes(Optimization Problems)

R-1:Chapter 31

They will learn Slides Optimization Problems Students learn Complexity classes Slides

Lecture 42

Number-Theoretic Algorithms and Complexity Classes(Basic Concepts of Complexity ClassesP, NP, NP-hard, NP-complete Problems)

T-1:Chapter 11 (11..3) R-1:Chapter 34

SPILL OVER
Week 15 Lecture 43 Lecture 44 Spill Over Spill Over

Week 15

Lecture 45

Spill Over

Scheme for CA:


Component Test Frequency 2 Total :Out Of 3 Each Marks Total Marks 10 10 20 20

Details of Academic Task(s)


AT No. Objective Topic of the Academic Task Nature of Academic Task (group/individuals/field work Individual Evaluation Mode Allottment / submission Week 3/4

Test 1

To test the Test 1 - will be covering syllabus from lecture 1 to lecture 9 understanding level of the students for topics covered as mentioned in the detail. To test the Test 2 - will be covering syllabus from lecture 11 to lecture 18 understanding level of the students for topics covered as mentioned in the detail. To test the Test 3 - will be covering syllabus from lecture 20 to lecture 33 understanding level of the students for topics covered as mentioned in the detail.

Step by step evaluation of attempted questions.

Test 2

Individual

Step by step evaluation of attempted questions.

6/7

Test 3

Individual

Step by step evaluation of attempted questions.

11 / 12

You might also like