0% found this document useful (0 votes)
7 views5 pages

Daa Course Handout

Uploaded by

rishitagarwal70
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
7 views5 pages

Daa Course Handout

Uploaded by

rishitagarwal70
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 5

School of Computer Engineering

Kalinga Institute of Industrial Technology (KIIT)


Deemed to be University
Bhubaneswar-751024

Lesson Plan and Activity Calendar


Design and Analysis of Algorithms – CS30001 (L-T-P-Cr: 3-0-0-3)

Semester: 5th
Discipline: B.Tech. (CSE), Section: CSE-07
Session: Autumn 2024

Prerequisites: Data Structures (CS21001)

Instructor:
Name :
Chamber :
Email :

Class Hours:
Day Time Class Room

:
Lesson Plan:

Lecture
No. of
Unit Unit Name Topics to be covered serial
lectures
nos.
⚫ Concepts in algorithm analysis & design
- motivation
⚫ Complexity of an algorithm (Space and
time Complexity), Analysis of time
complexity of Insertion Sort by step
count method
⚫ Growth of functions, Asymptotic
1 Introduction 8 1-8
Notations (Big Oh, Omega, Theta))
⚫ Solving recurrences: Iterative method
Substitution method, Recurrence Tree
method
⚫ Solving recurrences: Master theorem,
Change of variable
Tutorials / Activity
⚫ Structure of Divide-and-Conquer
algorithm design technique
Divide and ⚫ Analysis of divide-and-conquer run
time recurrence relations of
2a Conquer ◼ Finding Max/Min 3 9-11
Approach ◼ Binary Search
◼ Merge Sort
◼ Quick Sort
Tutorials / Activity
⚫ Revision of Heap: Build Heap/
Insertion/Deletion, Complexity
⚫ Overview of Greedy design paradigm
and Solving as well as analyzing the
following problems using Greedy
method:
◼ Fractional knapsack problem
Greedy ◼ Job sequencing with deadlines
2b 7 12-18
Approach ◼ Huffman method of Optimal Coding
◼ Finding Minimum spanning trees
for a Graph: Kruskal’s Method
◼ Finding Minimum spanning trees
for a Graph: Prim’s Method
◼ Finding Single Pair Shortest Path in
a graph: Dijkstra’s Method
Tutorials / Activity
⚫ Overview of Dynamic Programming
paradigm, Difference between Dynamic
Programming and Divide &
Conquer/Greedy Methods
⚫ Solving the following problems using
Dynamic Programming method:
◼ 0/1 Knapsack problem
Dynamic ◼ Matrix Chain Multiplication
3 Programming ◼ Longest Common Subsequence 8 19-26
⚫ Introduction to Multistage Graph
Approach problem: : Problem statement, Discussion
⚫ All Pair Shortest Paths in a Graph -
Floyd Warshall Algorithm
⚫ Optimal Binary Search Tree (OBST):
Problem statement, Discussion
⚫ Travelling Salesman Problem (TSP):
Problem statement, Discussion
Tutorials / Activity
⚫ Basic Idea of Amortized Analysis of
algorithms: Notions of Aggregate
Amortized Analysis Method, Accounting Method
Analysis and ⚫ Randomized Algorithms: Basic Idea of
4 Las Vegas and Monte Carlo algorithms 6 27-32
Randomized ⚫ Randomized Quick Sort: Basic Idea and
Algorithms discussion on average case analysis

Tutorials / Activity
⚫ Concepts of Complexity Classes: P, NP,
NP-Hard and NP-Complete
⚫ Reducibility of problems
⚫ Complexity Classes for the following
selected problems:
Complexity ◼ 3-CNF Satisfiability Problem
Classes and ◼ Travelling Salesman Problem
6. ◼ Maximal Clique Problem 8 32-40
Approximation ◼ Hamiltonian cycle Problem
Algorithms ⚫ Introductory idea of Approximation
algorithms
⚫ Approximation algorithms for following
selective problems (Optional):
◼ Travelling Salesman Problem
Tutorials / Activity

Day-wise Lesson Handouts:

Lecture
Week Topics
No.
Concepts in algorithm, difference between Algorithm and Program,
1 characteristics of algorithms. Algorithm design and their Performance
Analysis: Time and Space Complexity, motivation.
Week - 1
Pseudo code Conventions, Analysis of Insertion Sort by step count method
2
(Incremental Approach), Best-case, Worst-case and Average-case Analysis.
3 Growth of functions, Asymptotic Notations (𝜃, 𝑂, 𝛺)
4 Solving recurrences using Iterative method
Week - 2 5 Solving recurrences using Substitution method
6 Solving recurrences using Recursion Tree method
7 Solving recurrences using Master’s Theorem
Week – 3 Solving recurrences using Change of Variables, Discussion and Examples of
8
Limitations of Master Theorem
Divide-and-Conquer Approach - Binary Search and its complexity analysis,
9
Finding Minimum/Maximum
10 Divide-and-Conquer Approach - Merge Sort and its complexity analysis
Week - 4
Divide-and-Conquer Approach - Quick Sort and its complexity analysis
11
(Worst-case, Best-case, Role of Pivot Choice and Balanced Partitioning)
Revision of Max and Min Heap: Discussion on Complexity of Heap
12
Insertion, Heap Deletion and Heap Building
Overview of Greedy paradigm, Elements of greedy strategy: Recursive,
Iterative greedy algorithm. Knapsack Problem, Difference between Fractional
13
Knapsack and 0/1 Knapsack, Greedy strategy for solving Fractional
Week - 5 Knapsack Problem
14 Job sequencing with deadlines - A greedy problem formulation and solving
Problem of Optimal coding, Huffman Tree and Huffman method for Optimal
15
coding
Minimum-Cost Spanning Tree (MST) for a weighted graph, Kruskal’s
16
algorithm for finding MST
Week - 6
17 Prim’s Method for finding MST
18 Single-Source Shortest Path problem for weighted graphs, Dijkstra’s Method
Overview of Dynamic Programming paradigm, Divide and Conquer vs
19 Dynamic Programming, Greedy vs Dynamic Programming, Elements of
dynamic programming, Tabulation vs Memoization approach
Week - 7
20 Dynamic Programming approach for solving 0/1 Knapsack problem
Matrix Chain Multiplication (MCM) problem, Dynamic Programming
21
approach for solving MCM problem
Longest Common Subsequence (LCS) problem, Dynamic Programming
Week - 8 22
approach for solving LCS problem
23 All Pair Shortest Path problem for weighted graph: Floyd Warshall algorithm
24 Multistage Graph problem: Problem Statement, Discussion
25 Optimal Binary Search Tree (OBST): Statement, Discussion
26 Travelling Salesman Problem (TSP): Statement, Discussion
Week - 9
Basic Idea of Amortized Analysis of algorithms, Introductory Idea of
27
Aggregate Analysis Method of Amortized Analysis
28 Introductory Idea of Accounting Method of Amortized Analysis
Week - 10 29 Basic Idea of Las Vegas and Monte Carlo algorithms
30 Randomized Quick Sort: Basic Idea and discussion on average case analysis
Tractable vs Intractable problems, Decision vs Optimization Problems,
31 Deterministic vs Nondeterministic Algorithms. Reduction, Polynomial
Reduction and Equivalence of Problems.
Week - 11
Basic Concepts of Complexity Classes (P, NP, NP hard, NP Complete) and
32
their hierarchy
33 3CNF-SAT: Problem Statement and Discussion on Complexity Class
34 Travelling Salesman Problem
Week - 12 35 Maximal Clique Problem
36 Hamiltonian cycle Problem
Week - 13 37 Approximation Algorithms for Travelling Salesman Problem (Optional)

Activity Calendar - Autumn 2023

Activity Marks
Type of Activity Probable Date CO
No. (Weightage)

ACTIVITY-1
1 22.07.24 – 26.07.24 5
(Class Test/ Subjective Test)

ACTIVITY-2
2 05.08.24 – 09.08.24 5
(Class Test/Quiz Test)

ACTIVITY-3
3 02.09.24 – 06.09.24 5
(Class Test/ Surprise Test)
Mid Semester Examination [17.09.2024 – 21.09.2024]
ACTIVITY-4
4 30.09.24 – 04.10.24 5
(Home Assignment)
ACTIVITY-5
5 21.10.24 – 25.10.24 5
(Class Test/Home Assignment)
ACTIVITY-6
6 04.11.24 – 08.11.24 5
(Class Test/Quiz Test)
End Semester Examination [16.11.2024 – 26.11.2024]
Course Outcome: Upon completion of this course, the students will be able to:
CO1: Analyze the time and space complexity for any algorithm
CO2: Compare and contrast different algorithm design techniques
CO3: Apply the algorithm design techniques in solving real world problems
CO4: Perform amortize analysis for any algorithm
CO5: Modify existing algorithms to apply in common engineering design situations
CO6: Use NP class of problems to propose approximation algorithms

Text books:
 Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran, “Fundamentals of
Computer Algorithms”, Universities Press.
 Thomas H. Coreman, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein,
“Introduction to Algorithms”, PHI.

Reference books:
 Jon Kleinberg, Eva Tardos, “Algorithm Design”, Pearson.
 Michael T. Goodrich, Roberto Tamassia, “Algorithm Design: Foundations,
Analysis, and Internet Examples”, Wiley India.

Grading Policy:

Pedagogy: Lecture, Assignments, Quiz, Debate, Short Projects, etc.


Evaluation Methodology: Internal: 50 (20- Midterm Exam & 30 Activity), End Term: 50
Distribution of Marks:

SL Evaluation Evaluatio Course Lecture No. Mode


No. Component n Marks
From To
1 Mid-Semester 20 1 21 Closed Book
Examination
2 Activity based 30 NA NA Open Book, Closed Book
Teaching and and Presentation, Short quiz
Learning
3 End-Semester 50 1 40 Closed Book
Examination

Note #
• Tentative Mid-Semester Syllabus would be up to Matrix Chain
Multiplication (MCM) problem under the unit of Dynamic Programming
approach as per the Lesson Plan
• Modifications to the above-mentioned structure (Lesson Plan /
Examination Process / Any other modifications) may take place as per
the Teacher’s discretion adhering to the University Guidelines.

=======================XXXXXXXX====================

You might also like